1. import java.io.BufferedInputStream;
  2. import java.io.BufferedReader;
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.io.InputStreamReader;
  7. import java.io.OutputStreamWriter;
  8. import java.net.URI;
  9. import java.net.URL;
  10. import java.net.URLConnection;
  11. import org.apache.commons.httpclient.HttpClient;
  12. import org.apache.commons.httpclient.HttpStatus;
  13. import org.apache.commons.httpclient.methods.PostMethod;
  14. /**
  15. * 测试调用一些meeting第三方接口
  16. * @author Jack.Song
  17. */
  18. public class TestMeetingInterface {
  19. /**
  20. * @param args
  21. */
  22. public static void main(String[] args) {
  23. String url = "http://192.168.0.68/integration/xml";
  24. TestMeetingInterface tmi = new TestMeetingInterface();
  25. System.out.println(tmi.post(url,"listSummaryMeeting.xml"));
  26. /*//判断当前系统是否支持Java AWT Desktop扩展
  27. if(java.awt.Desktop.isDesktopSupported()){
  28. try {
  29. URI path = tmi.getClass().getResource("/listSummaryMeeting.xml").toURI();
  30. System.out.println(path);
  31. //创建一个URI实例
  32. //              java.net.URI uri = java.net.URI.create(path);
  33. //获取当前系统桌面扩展
  34. java.awt.Desktop dp = java.awt.Desktop.getDesktop();
  35. //判断系统桌面是否支持要执行的功能
  36. if(dp.isSupported(java.awt.Desktop.Action.BROWSE)){
  37. //获取系统默认浏览器打开链接
  38. dp.browse(path);
  39. }
  40. } catch (Exception e) {
  41. e.printStackTrace();
  42. }
  43. }*/
  44. }
  45. /**
  46. * 发送xml数据请求到server端
  47. * @param url xml请求数据地址
  48. * @param xmlString 发送的xml数据流
  49. * @return null发送失败,否则返回响应内容
  50. */
  51. public String post(String url,String xmlFileName){
  52. //关闭
  53. System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
  54. System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
  55. System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient", "stdout");
  56. //创建httpclient工具对象
  57. HttpClient client = new HttpClient();
  58. //创建post请求方法
  59. PostMethod myPost = new PostMethod(url);
  60. //设置请求超时时间
  61. *1000);
  62. String responseString = null;
  63. try{
  64. //设置请求头部类型
  65. myPost.setRequestHeader("Content-Type","text/xml");
  66. myPost.setRequestHeader("charset","utf-8");
  67. //设置请求体,即xml文本内容,注:这里写了两种方式,一种是直接获取xml内容字符串,一种是读取xml文件以流的形式
  68. //          myPost.setRequestBody(xmlString);
  69. InputStream body=this.getClass().getResourceAsStream("/"+xmlFileName);
  70. myPost.setRequestBody(body);
  71. //            myPost.setRequestEntity(new StringRequestEntity(xmlString,"text/xml","utf-8"));
  72. int statusCode = client.executeMethod(myPost);
  73. if(statusCode == HttpStatus.SC_OK){
  74. BufferedInputStream bis = new BufferedInputStream(myPost.getResponseBodyAsStream());
  75. ];
  76. ByteArrayOutputStream bos = new ByteArrayOutputStream();
  77. ;
  78. ){
  79. , count);
  80. }
  81. byte[] strByte = bos.toByteArray();
  82. ,strByte.length,"utf-8");
  83. bos.close();
  84. bis.close();
  85. }
  86. }catch (Exception e) {
  87. e.printStackTrace();
  88. }
  89. myPost.releaseConnection();
  90. return responseString;
  91. }
  92. /**
  93. * 用传统的URI类进行请求
  94. * @param urlStr
  95. */
  96. public void testPost(String urlStr) {
  97. try {
  98. URL url = new URL(urlStr);
  99. URLConnection con = url.openConnection();
  100. con.setDoOutput(true);
  101. con.setRequestProperty("Pragma:", "no-cache");
  102. con.setRequestProperty("Cache-Control", "no-cache");
  103. con.setRequestProperty("Content-Type", "text/xml");
  104. OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream());
  105. String xmlInfo = getXmlInfo();
  106. System.out.println("urlStr=" + urlStr);
  107. //            System.out.println("xmlInfo=" + xmlInfo);
  108. out.write(new String(xmlInfo.getBytes("UTF-8")));
  109. out.flush();
  110. out.close();
  111. BufferedReader br = new BufferedReader(new InputStreamReader(con
  112. .getInputStream()));
  113. String line = "";
  114. for (line = br.readLine(); line != null; line = br.readLine()) {
  115. System.out.println(line);
  116. }
  117. catch (Exception e) {
  118. e.printStackTrace();
  119. }
  120. }
  121. private String getXmlInfo() {
  122. StringBuilder sb = new StringBuilder();
  123. sb.append("<?xml version='1.0' encoding='UTF-8'?>");
  124. sb.append("<Message>");
  125. sb.append(" <header>");
  126. sb.append("     <action>readMeetingStatus</action>");
  127. sb.append("     <service>meeting</service>");
  128. sb.append("     <type>xml</type>");
  129. sb.append("     <userName>admin</userName>");
  130. sb.append("     <password>admin</password>");
  131. sb.append("     <siteName>box</siteName>");
  132. sb.append(" </header>");
  133. sb.append(" <body>");
  134. sb.append("     <confKey>43283344</confKey>");
  135. sb.append(" </body>");
  136. sb.append("</Message>");
  137. return sb.toString();
  138. }
  139. }

对于java用发送http请求,请求内容为xml格式的更多相关文章

  1. Java发HTTP POST请求(内容为xml格式)

    Java发HTTP POST请求(内容为xml格式) 一.POST请求 服务器地址:http://5.0.217.50:17001/VideoSend 服务器提供的是xml格式的http接口,接口定义 ...

  2. Java发送HTTP POST请求(内容为xml格式)

    今天在给平台用户提供http简单接口的时候,顺便写了个调用的Java类供他参考.      服务器地址:http://5.0.217.50:17001/VideoSend 服务器提供的是xml格式的h ...

  3. 如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查

    我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java 代码发送的HTTP请求明细的情况.和javascript代码在浏览器里发送请求可以 ...

  4. java发送http请求,内容为xml格式&&传统URI类请求

    import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStr ...

  5. 提交post请求,参数为xml格式

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  6. 利用Ajax把前端的数据封装成JSON格式发送到服务器端并写成XML格式在服务器的硬盘上

    1.首先要在前端把要发送的东西(这里是一个实例化的car对象)都准备好,利用Ajax发送到服务器端,代码如下: <html xmlns="http://www.w3.org/1999/ ...

  7. Java 如何解析由String类型拼接的XML格式

    String xml = new String(a);打印的xml 的值是 <?xml version= 1.0 encoding=gb2312?><weighData>< ...

  8. java解析Xml格式的字符串

    最近在工作中,需要调别的接口,接口返回的是一个字符串,而且内容是xml格式的,结果在解析json的时候报错,最终修改了接口的返回方式,以Map返回, 才得以接收到这个xml的字符串,然后通过dom4j ...

  9. JAVA实现map集合转Xml格式

    import java.util.Iterator; import java.util.SortedMap; import java.util.TreeMap; public class MainTe ...

随机推荐

  1. 基于HTTP协议下载文件的实现

    最近在开发文件下载的程序,该程序是基于HTTP开发的. 首先是了解了文件传输到客户端的大概格式,然后分析该格式,实现写入文件的功能. 自己构造的HTTP包如下: GET /*********.rar ...

  2. Hadoop学习之自定义二次排序

    一.概述    MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的.在我们实际的需求当中,往 往有要对reduce输出结果进行二次排 ...

  3. Android webViewj简单处理apk的下载链接

    最近在开发二维码扫一扫的功能,需要分多种情况处理外部的url.遇到一个问题是,一些程序包(比如一些android应用)的下载不好处理.如果不做任何处理的话,webView会打开一个空白页.比如这个链接 ...

  4. 项目需要简单些了个WEB APP 的弹出窗

    var diag = { showDlg:'',//需要显示的DIV rushdiv:"<div id=v style='top:0;position: absolute;z-inde ...

  5. Use API to retrieve data from internet

    Reference: Working with APIs Many big companies and organizations provide API for us to retrieve dat ...

  6. Linux 网络编程基础(3) -- 数据的IO

    首先介绍两个数据结构及相关的操作函数:struct iovec.struct msghdr struct iovec { void * iov_base;    /*向量的缓冲地址*/ size_t ...

  7. Q_D宏

    Qt 源码中有很多Q_Q和Q_D宏,使用这些宏的地方总会看到有q指针和d指针,查了查KDE文档,大体搞清了其中的机理,欧也!Qt的这些私有数据访问策略还是挺值得借鉴.下面就简单总结一下. 访问器 , ...

  8. HDU 5773 The All-purpose Zero(树状数组)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5773 [题目大意] 给出一个非负整数序列,其中的0可以替换成任意整数,问替换后的最长严格上升序列长 ...

  9. ssm框架理解

    SSM框架理解 最近两星期一直在学JavaEE的MVC框架,因为之前学校开的JavaEE课程就一直学的吊儿郎当的,所以现在真正需要掌握就非常手忙脚乱,在此记录下这段时间学习的感悟,如有错误,希望大牛毫 ...

  10. docker进入容器

    进入容器的三种方式: sshd nsenter exec sshd 在容器中开启一个SSHD的服务,通过SSH的协议登录到容器中,把容器看出一个vm nsenter: nsenter包含在util-l ...