package com.itheima.xml;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class HttpPostTest {
void testPost(String urlStr) {
OutputStreamWriter out=null;
BufferedReader in=null;
try {
URL url = new URL(urlStr);
URLConnection con = url.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestProperty("Pragma:", "no-cache");
con.setRequestProperty("Cache-Control", "no-cache");
con.setRequestProperty("Content-Type", "text/xml");
out = new OutputStreamWriter(con.getOutputStream());
String xmlInfo = getXmlInfo();
System.out.println("urlStr=" + urlStr);
System.out.println("xmlInfo=" + xmlInfo);
out.write(new String(xmlInfo.getBytes("ISO-8859-1")));
out.flush();
out.close();
in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line = "";
for (line = in.readLine(); line != null; line = in.readLine()) {
System.out.println(line);
}
} catch (MalformedURLException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(out!=null)
out.close();
if(in!=null)
in.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
private String getXmlInfo() {
StringBuilder sb = new StringBuilder();
sb.append("<order><id>164228692</id>");
sb.append(" <user>");
sb.append(" <channelcode>51bi</channelcode>");
sb.append(" <trackingcode>32151656</trackingcode>");
sb.append(" </user><product><deal>5081435</deal></product>");
sb.append(" <order_time>2013-10-15 10:24:00</order_time>");
sb.append(" <pay_time>2013-10-15 10:27:00</pay_time>");
sb.append(" <status>ORDER</status>");
sb.append(" <number>2</number>");
sb.append(" <cost><total_amount>199</total_amount></cost>");
sb.append("</order>");
return sb.toString();
}
public static void method1(){
try {
//http://58.221.72.184:5868
// http地址
String httpUrl = "http://192.168.0.244:8080/bjsearch/dianpingOrderBack.jhtml";
//HttpPost连接对象
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(httpUrl);
StringEntity myEntity = new StringEntity(getXmlInfo(), "UTF-8");
httppost.setEntity(myEntity);
// httppost.addHeader("Content-Type", "text/xml");
httppost.addHeader("Content-Type", "application/x-www-form-urlencoded");
httppost.addHeader("Accept", "*/*");
// httppost.setEntity(new StringEntity(content));
// HttpResponse response = httpClient.execute(httpPost);
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();
InputStreamReader reader = new InputStreamReader(resEntity.getContent(), "ISO-8859-1");
char[] buff = new char[1024];
int length = 0;
while ((length = reader.read(buff)) != -1) {
System.out.println(new String(buff, 0, length));
}
httpclient.getConnectionManager().shutdown();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String url = "http://192.168.0.88:8181/bjsearch/dianpingOrderBack.jhtml";
new HttpPostTest().testPost(url);
}
}
分享到:
相关推荐
本篇文章将深入探讨如何通过HTTP POST发送XML数据,并结合给出的标签和压缩包文件,介绍相关工具和库的使用。 首先,`POST`方法在HTTP协议中用于向服务器提交数据,以创建新的资源或更新现有资源。与GET请求不同,...
本篇将详细介绍如何使用C++结合WinInet库实现HTTP POST请求,以及如何解析接收到的XML数据。 首先,WinInet是微软提供的一种用于Windows平台的Internet应用程序接口,它简化了HTTP、FTP和Gopher等协议的使用。通过...
本文将深入探讨如何使用C++语言通过WinInet库实现HTTP的POST请求,以及如何接收并解析XML数据。首先,我们需要了解HTTP POST请求的基本原理。 HTTP POST请求通常用于向服务器发送数据,比如用户填写表单后提交信息...
发送XML报文通常涉及到POST或GET请求,这里以POST请求为例,因为POST更适合发送大量数据,如XML文档。 1. **创建XML文档** 在发送XML之前,我们需要先构建XML文档。可以使用DOM(Document Object Model)或者SAX...
### 发送POST请求并处理XML数据 #### 一、理解XML格式及POST请求 XML(Extensible Markup Language)是一种用于标记数据的语言,它被广泛用于数据交换和存储,特别是在不同系统之间进行通信时。POST请求是HTTP协议...
本示例探讨的是如何使用HTTPClient库在客户端发送XML报文到服务器端,且报文通过POST方法传递,并可能涉及加密处理,确保数据的安全性。 首先,HTTPClient是Apache提供的一款强大的Java HTTP客户端API,它允许...
在IT领域,尤其是在Java开发中,通过HTTP协议发送XML报文是一种常见的数据交换方式,尤其在与Web服务交互时。本文将深入解析如何利用Java语言实现HTTP请求,并发送XML格式的数据,同时也会涵盖相关的概念、代码解读...
本篇将深入探讨如何利用C#来调用Servlet并发送XML数据,这对于跨语言通信和系统集成具有重要意义。 首先,理解C#调用Servlet的过程。Servlet是Java Web应用的一部分,它运行在服务器端,处理来自客户端(如浏览器)...
然而,如果受到只能使用FORM提交的约束,可以通过创建多个隐藏的INPUT元素来分块发送XML数据,每一块不超过服务器允许的最大长度。例如,如果最大长度是90,000字符,可以将XML数据分割成多个90,000字符的片段,并将...
本案例主要讲解如何在Android应用中通过网络通信发送XML数据到Web服务器,从而实现数据交换。 首先,我们需要理解XML(eXtensible Markup Language),它是一种用于标记数据的语言,具有良好的可读性和可扩展性。在...
HTTP Post XML 方法是一种常用的数据传输方式,通过 HTTP 协议将 XML 格式的数据从客户端发送到服务端。在现实应用中,HTTP Post XML 方法广泛应用于不同行业和领域,例如电信运营商之间的数据交换、金融机构之间的...
本文将详细介绍如何使用Flex的HttpService组件向SpringMVC应用发送XML数据,并进行交互。 一、Flex中的HttpService组件 1. 创建HttpService:在Flex项目中,通过MXML或ActionScript可以创建HttpService实例。设置...
在处理XML数据时,可能会遇到各种问题,特别是在通过POST方法发送XML数据时,可能会遭遇“500内部服务器错误”。这个错误通常表示服务器端遇到了无法处理的异常情况,而没有给出具体的错误信息。下面我们将详细探讨...
下面将介绍PHP环境下,如何通过POST方法发送XML数据,主要会讲解两种方法:使用cURL(Client URL Library)和使用fsockopen。 首先,我们来了解cURL方法。cURL是一个强大的库,支持各种协议下的数据传输。使用cURL...
综上所述,这个"ajax发送xml请求小示例"将帮助开发者理解如何使用AJAX与服务器交互,发送XML数据并解析返回的XML响应。在实际项目中,可能需要根据具体需求选择XML或JSON,并结合现代的前端框架(如jQuery、Vue.js或...
例如,一个简单的Python示例,使用requests库发送XML数据的POST请求: ```python import requests url = "http://example.com/api" headers = {'Content-Type': 'application/xml'} xml_data = """ <name>John ...
至此,我们已经成功地使用Java的HttpClient库将一个对象转换为XML字符串,并以二进制流的方式发送到了服务器。这个过程中涉及的关键技术包括对象到XML的转换(JAXB)、流操作(ByteArrayOutputStream和...
在IT行业中,网络请求是应用程序获取远程数据的基本方式,而XML数据作为一种结构化的数据格式,广泛用于数据交换。本文将深入探讨"进入网络请求,对返回的XML数据进行处理"这一主题,包括如何使用ASIHttp进行网络...
在Java中,实现HTTP POST请求并发送XML数据是常见的需求,尤其是在与Web服务进行交互时。下面将详细阐述如何使用Java来完成这一任务。 #### 1. 导入必要的库 首先,你需要导入处理网络请求、读取文件和处理流的...
XMLPost工具,名为XMLTransmitter,是一款专门用于发送XML数据的实用程序。它在IT行业中扮演着重要角色,尤其在Web服务、数据交换和API交互等场景中。XML(可扩展标记语言)是一种用于结构化数据表示的标准格式,...