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

apache Http post方式

阅读更多
public String doPost(String url, Map<String, String> params) {
		String response = null;
		log.info("url为:" + url + ",params为:" + params);

		HttpClient httpClient = new HttpClient();// 创建一个客户端,类似打开一个浏览器
		httpClient.getParams().setContentCharset("utf-8");// 设置编码格式
		
		PostMethod postMethod = new PostMethod(url);// 创建一个post方法,类似在浏览器地址栏中输入一个地址

		NameValuePair[] postData = new NameValuePair[params.size()];// POST需要通过NameValuePair类来设置参数名称和它所对应的值
		// 设置Http Post数据
		if (params != null) {
			int count = 0;
			for (Map.Entry<String, String> entry : params.entrySet()) {
				postData[count] = new NameValuePair(entry.getKey(), entry.getValue());
				count++;
			}
			postMethod.addParameters(postData);
		}
		try {
			log.info("执行post方法开始");
			httpClient.executeMethod(postMethod);// 执行,类似于回车键
			log.info("执行post方法结束");
			log.info("method.getStatusCode()=" + postMethod.getStatusCode());
			if (postMethod.getStatusCode() == HttpStatus.SC_OK) {
				log.info("获取返回值开始");
				response = postMethod.getResponseBodyAsString();
				log.info("获取返回值结束,response为:" + response);
			}
		} catch (Exception e) {
			log.error("post发生异常:" + e);
			e.printStackTrace();
		} finally {
			postMethod.releaseConnection();// 释放
			log.info("释放链接");
		}
		return response;
	}
对于编码方式可以有以下几种方式,应该都可以的,我只用了其中一种:
httpClient.getParams().setContentCharset("utf-8");// TODO
httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8");// TODO
 
postMethod.getParams().setContentCharset("utf-8");// TODO
postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8");// TODO
postMethod.setQueryString(EncodingUtil.formUrlEncode(postData, "utf-8"));// TODO
分享到:
评论

相关推荐

    org.apache.http 相关的jar包

    import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.impl.client.DefaultHttpClient; ...

    org.apache.http jar包

    org.apache.http jar包 import org.apache.http.Header;...import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.ssl.SSLSocketFactory;

    org.apache.http.httpentity jar包-系列jar包

    import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.impl.client.DefaultHttpClient; ...

    import org.apache.http

    import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.impl.client.DefaultHttpClient; ...

    org.apache.http源代码和jar包

    import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.impl.client.DefaultHttpClient; ...

    使用Http post的方式调用webservice

    当我们无法直接引用特定的jar包或者面临jar包冲突时,通过HTTP POST方式调用WebService成为了一种有效的解决方案。本文将深入探讨如何在Java环境中,利用HTTP POST方法调用WebService,并解决可能遇到的问题。 首先...

    org.apache.http 依赖包

    Apache HTTP 客户端库是Java开发者常用的工具之一,它为执行HTTP协议提供了丰富的功能,包括GET、POST、PUT等多种HTTP方法。这个库的核心部分就是`org.apache.http`包,它包含了处理HTTP请求和响应的各种类和接口。...

    深入Android通过Apache HTTP访问HTTP资源示例代码

    Apache HTTP客户端库是Android SDK早期版本中提供的一种方式,它允许开发者方便地执行HTTP请求。然而,从Android API 23(Marshmallow)开始,Apache HTTP库被标记为弃用,尽管在兼容库中仍然可用。本文将深入探讨...

    org.apache.http jar包工具

    import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.impl.client.DefaultHttpClient; ...

    org.apache.HTTP需要的jar包

    Apache HTTP 客户端库是Java开发者在处理HTTP协议时常用的一个强大工具,它提供了丰富的功能,包括HTTP请求的发送、响应的处理以及各种HTTP方法的支持。标题中的"org.apache.HTTP需要的jar包"指的是Apache HTTP组件...

    org.apache.http jar包下载

    Apache HTTP 客户端库是Java开发者常用的网络通信工具,主要包含了`org.apache.http`相关的类和接口。这个jar包广泛应用于网络爬虫的开发,同时也适用于那些需要与Web服务器进行交互的Android应用,尤其是在处理HTTP...

    org.apache.http.entity.mime和org.apache.http.legacy

    Apache HTTP 客户端库是Java开发者常用的网络通信工具,主要包含了处理HTTP请求和响应的功能。在提供的信息中,我们关注的是两个特定的模块:"org.apache.http.entity.mime" 和 "org.apache.http.legacy"。 首先,`...

    httppost和httpget需要的jar包

    import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; ...

    org.apache.http.legacy的jar包

    的引入是为了缓解这种不兼容性,它包含了`org.apache.http`包中的一些关键类,如`HttpClient`, `HttpGet`, `HttpPost`, `NameValuePair`等,使得开发者无需修改大量代码就能继续使用这些类。 在标签中提到的“jar包...

    Apache Http常用jar

    Apache Http是一个广泛使用的开源HTTP客户端库,主要用于Java平台。这个压缩包包含的三个核心组件是:`httpclient-4.5.5.jar`、`httpcore-4.4.6.jar`和`httpmime-4.5.5.jar`,它们在开发与HTTP服务器交互的应用程序...

    org.apache.http.jar

    1. **HTTP方法支持**:包括GET、POST、PUT、DELETE等HTTP请求方法。 2. **连接管理**:可以配置连接池来复用TCP连接,提高性能。 3. **重试和重定向策略**:自动处理HTTP状态码,如3xx重定向和错误状态码的重试。 4....

    http post/get请求所需的jar包,附带post请求源码样例

    import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; ...

    org.apache.http.entity.mime

    在Android开发中,由于HttpClient库的稳定性和强大的功能,即使在Android API级别33及更高版本中不再内置,许多开发者依然选择使用Apache HttpClient,包括`org.apache.http.entity.mime`包中的类,来进行网络通信和...

Global site tag (gtag.js) - Google Analytics