`
liuxi1024
  • 浏览: 390106 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

httpclient向服务器POST XML字符串

阅读更多

一、使用 HttpClient 需要如下做法

 

1、 创建 HttpClient 的实例

2、 创建POST连接方法的实例

3、 调用client的 execute 方法来执行第二步中创建好的 method 实例

4、 读 response

5、 释放连接。无论执行方法是否成功,都必须释放连接

6、 对得到后的内容进行处理

 

二、创建处理上传处理的类UploadManager.java

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

public class UploadManager {
	HttpClient client = new HttpClient();
	PostMethod method = new PostMethod(){
	      public String getRequestCharSet() {
		    return "GBK";
	}};
		
	List<NameValuePair> params = new ArrayList<NameValuePair>();
	String host;
	String path;
	int port;

	public UploadManager setURL(String host, String path, int port) {
		this.host = host;
		this.path = path;
		this.port = port;
		client.getHostConfiguration().setHost(host, port, "http");
		method.setPath(path);
		return this;
	}

	public UploadManager addParam(String key, String value) {
		params.add(new NameValuePair(key, value));
		return this;
	}

	public boolean upload() {
		try {
                //将NameValuePair表单的值放入postMethod中			
                method.setRequestBody(params.toArray(new NameValuePair[params.size()]));
			int statusCode = client.executeMethod(method);
			String response = method.getResponseBodyAsString();
			if(response.startsWith("SUCESS"))
				return true;
		}catch (HttpException e) {
                       //发生致命的异常,可能是协议不对或者返回的内容有问题
                       System.out.println("Please check your provided http address!");
                       e.printStackTrace();
               }catch (IOException e) {
                       //发生网络异常
			e.printStackTrace();
		} finally {
			params.clear();
			method.releaseConnection();
		}
		return false;
	}
}
分享到:
评论

相关推荐

    java 中HttpClient传输xml字符串实例详解

    至此,我们已经成功地使用Java的HttpClient库将一个对象转换为XML字符串,并以二进制流的方式发送到了服务器。这个过程中涉及的关键技术包括对象到XML的转换(JAXB)、流操作(ByteArrayOutputStream和...

    httpclient 客户端发送xml报文到服务器端采用post方式(加密)传递

    服务器接收到请求后,提取HttpEntity,解码XML字符串,然后进行解析。例如,使用DOM解析器: ```java InputStream is = httpEntity.getContent(); DocumentBuilderFactory dbf = DocumentBuilderFactory.new...

    httpClient的xml,form,json提交

    在处理XML提交时,可能涉及`StringEntity`或者`HttpEntityEnclosingRequestBase`的子类,将XML字符串设置为请求体。 接着是`SanxiangExchange.java`,这个类可能代表一种特定的HTTP交换操作,与"三湘"(Sanxiang)...

    HttpClient发送post请求传输json数据

    然后将其转换为字符串并创建实体: ```java String jsonStr = "{\"key1\":\"value1\",\"key2\":\"value2\"}"; StringEntity entity = new StringEntity(jsonStr, ContentType.APPLICATION_JSON); ``` 接下来,将这...

    http post 发送xml数据

    接着,我们创建一个XML字符串并将其作为请求实体设置到POST方法中。最后,执行请求并处理响应。 在实际开发中,为了确保数据的安全性,可能还需要添加身份验证、设置超时、处理异常等。此外,现代Java应用通常会...

    发送Post请求,内容格式为xml,并获取响应内容

    ` 将XML字符串包装成请求体,指明了内容类型为"text/xml",字符编码为"utf-8"。 6. **执行请求**:`int statusCode = client.executeMethod(myPost);` 执行POST请求,并将服务器返回的状态码存储在`statusCode`变量...

    使用HttpClient发送POST请求,并获取响应内容(附详细步骤).txt

    ### 使用HttpClient发送POST请求,并获取响应内容 #### 一、简介 在现代软件开发中,尤其是在Web应用领域,客户端与服务器之间的通信是非常重要的环节。Java作为一种广泛应用的编程语言,提供了多种方式来实现这一...

    HttpClient模拟get,post请求并发送请求参数(json等)

    例如,你可以使用EntityUtils将响应体转换为字符串: ```java HttpEntity entity = response.getEntity(); String responseBody = EntityUtils.toString(entity, "UTF-8"); ``` HttpClient还支持其他高级功能,如...

    httpclient发送post请求.docx

    `EntityUtils.toString()`方法可以将`HttpEntity`内容转化为字符串,指定字符编码避免乱码问题。 ```java String s = EntityUtils.toString(response.getEntity(), "utf-8"); System.out.println(s); ``` 最后,别...

    HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件

    GET请求用于获取服务器上的资源,而POST请求则常用于向服务器提交数据,比如表单数据或上传文件。 1. GET请求:HttpClientUtil中的GET方法通常会创建一个HttpGet对象,设置请求的URL,并通过HttpClient的execute...

    httpclient

    6. **Cookie管理**:HttpClient支持Cookie管理,这意味着它可以接收和存储服务器返回的Cookie字符串,并在后续请求中自动添加到请求头中。 7. **错误处理**:在处理HTTP响应时,可能会遇到错误状态码或异常的响应体...

    HttpClient发送http请求(post+get)需要的jar包+内符java代码案例+注解详解

    POST请求常用于向服务器提交数据。以下是一个使用HttpClient发送POST请求的Java代码示例: ```java import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache....

    httppost和httpclient一组开发包

    4. 添加请求实体:通过`setEntity`方法设置请求的数据,如字符串、文件或表单数据。 5. 执行请求:调用`HttpClient`的`execute`方法,传入`HttpPost`对象,获取`HttpResponse`。 6. 处理响应:从`HttpResponse`中...

    http请求,xml格式

    在这个例子中,我们创建了一个XML字符串,并通过POST方法发送到指定URL,同时设置`Content-Type`头部来表明数据格式是XML。 总之,HTTP请求中的XML数据传输是Web服务和API交互的重要组成部分。理解如何构造和发送...

    C#使用Http Post方式传递Json数据字符串调用Web Service

    C#使用Http Post方式传递Json数据字符串调用Web Service C#使用Http Post方式传递Json数据字符串调用Web Service是指在C#中使用Http Post方式传递Json数据字符串来调用Web Service。这种方式可以将业务逻辑层和界面...

    java http 发送xml报文(java发送xml报文实例+参数)

    写入XML字符串到HTTP连接: ```java try(OutputStream os = connection.getOutputStream()) { os.write(xmlString.getBytes(StandardCharsets.UTF_8)); } ``` 4. **处理响应** 发送完XML后,读取服务器返回...

    httpClient发送HTTP请求

    这里,我们首先获取`SHA1`实例,对密码进行哈希计算,然后使用Base64编码,将结果转换为可在网络中传输的字符串形式。 总之,HttpClient是Java进行HTTP/HTTPS交互的强大工具,通过合理配置可以处理各种复杂场景,...

    HttpClient 调用WebService示例

    这通常涉及到将SOAP XML转换为字符串并添加到请求中: ```java String soapRequestBody = "&lt;soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\...

    HttpClientUtil工具类 里面包含GET POST 及返回值处理

    - **处理返回值**:获取到的返回值通常是一个字符串,开发者可以根据业务需求解析这个字符串,如JSON解析、XML解析等。 4. **注意点**: - **连接管理**:为了防止过多的并发连接导致资源耗尽,HttpClientUtil...

Global site tag (gtag.js) - Google Analytics