1. maven依赖包下载
<!-- httpclient --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.2.1</version> </dependency>
2. HttpClientUtil.java
package com.snail.common.util; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.ResponseHandler; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; /** * HttpClient调用工具类 * * @author penghuaiyi * @date 2014-04-04 */ public class HttpClientUtil { /** * 发送GET请求 * @param uri * @return */ public static String sendGet(String uri) { String responseBody = null; HttpClient httpClient = new DefaultHttpClient(); try { HttpGet httpGet = new HttpGet(uri); System.out.println("executing request " + httpGet.getURI()); // Create a response handler ResponseHandler<String> responseHandler = new BasicResponseHandler(); responseBody = httpClient.execute(httpGet, responseHandler); System.out.println("----------------------------------------"); System.out.println(responseBody); System.out.println("----------------------------------------"); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { httpClient.getConnectionManager().shutdown(); } return responseBody; } /** * 发送POST请求 * @param uri * @param paramMap 请求参数 * @return */ public static String sendPost(String uri, Map<String, String> paramMap) { return sendPost(uri, paramMap, null); } /** * 发送POST请求 * @param uri * @param paramMap 请求参数 * @param charset 参数编码 * @return */ public static String sendPost(String uri, Map<String, String> paramMap, String charset) { String responseBody = null; HttpClient httpClient = new DefaultHttpClient(); try { HttpPost httpPost = new HttpPost(uri); System.out.println("executing request " + httpPost.getURI()); if (paramMap != null) { List<NameValuePair> nvps = new ArrayList<NameValuePair>( paramMap.size()); for (Map.Entry<String, String> entry : paramMap.entrySet()) { NameValuePair nvp = new BasicNameValuePair(entry.getKey(), entry.getValue()); nvps.add(nvp); } if(charset!=null){ httpPost.setEntity(new UrlEncodedFormEntity(nvps,charset)); }else{ httpPost.setEntity(new UrlEncodedFormEntity(nvps)); } } // Create a response handler ResponseHandler<String> responseHandler = new BasicResponseHandler(); responseBody = httpClient.execute(httpPost, responseHandler); System.out.println("----------------------------------------"); System.out.println(responseBody); System.out.println("----------------------------------------"); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { httpClient.getConnectionManager().shutdown(); } return responseBody; } }
相关推荐
httpclient get/post请求工具类(map参数封装),方便调用
本教程是继使用HttpClient调用Web API只有的补充教程,主要讲解了如何在WPF中异步调用Web API且不阻塞主线程。
主要介绍了使用java的HttpClient实现多线程并发的相关资料,需要的朋友可以参考下
HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。
httpclient 封装--HttpClient4.3 释放连接 1.必须关闭调用CloseableHttpResponse#close()方法 2.保证输入流被完全消费 否则会被连接管理器关闭丢弃 连接管理器如何判断流是否消费完??? 测试消费部分流 然后关闭掉...
微信小程序里自己封装了请求的函数,但几乎每个页面都要用到,所以为什么更方便的调用,再一次进行封装。 在app.js里面定义个全局对象,这样想要用到该函数,只需要在该页面的js文件里面,请求一个app实例。 废话不...
http客户端调用包,基于最新的httpclient4.5.3开发和spring容器,针对现有市民支付和二维码业务需求做封装。 1、http连接池。2、可配置正向代理。3、可配置忽略https中CA用户证书认证。4、提供form表单和body两种...
远程接口调用工具类,下载依赖,配置httpclient的依赖即可使用,支持get请求和post请求
声明式HTTP客户端API框架,让Java发送HTTP/HTTPS...它比OkHttp和HttpClient更高层,是封装调用第三方restful api client接口的好帮手,是retrofit和feign之外另一个选择。通过在接口上声明注解的方式配置HTTP请求接口
C++ 实现 HTTP HTTPS POST GET(包含curl版本和winhttp两种实现)。 玩过抓包,网络协议分析的朋友肯定都知道http https post get,web端和用户的交互主要是通过post get完成的。... 两者使用起来都很方便灵活。...
4.封装请求参数,使调用更加容易。 5.可配置化的实现,全局配置与单次请求配置结合,让一切更可控。 6.支持Http缓存。 使用: #####1.eclipse环境 下载jar文件,添加到项目的libs目录下。 #####2.AndroidStudio 在...
声明式HTTP客户端API框架,让Java发送HTTP/HTTPS...它比OkHttp和HttpClient更高层,是封装调用第三方restful api client接口的好帮手,是retrofit和feign之外另一个选择。通过在接口上声明注解的方式配置HTTP请求接口
1.HttPClient使用完之后不会立即关闭开启网络连接时会占用底层socket资源,但在HttpClient调用其本身的Dispose方法时,并不能立刻释放该资源 2.如果频繁的使用HttpClient,频繁的打开链接,关闭链接消耗就会很大。 ...
主要给大家介绍了关于C# WebApi Get请求方式传递实体参数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
2. Action类相应方法使用封装好的HttpClient相关工具类,准备好HTTP请求的相关参数header参数和body参数并以xml的方式提交HTTP请求; 3. 解析该HTTP请求返回值(XML或JSON); 4. 响应结果; 5. 测试; 备注: 开发...
根据传入的对象类型(支持list),参数,请求URL地址,利用httpclient进行远程接口调用返回,并自动封装返回对象。简单调用示例如下: new AsyncTask, AppException, Void>() { @Override protected Void ...
public HttpClient getHttpClient() public HttpContext getHttpContext() public void configCookieStore(CookieStore cookieStore) //配置cookie public void configUserAgent(String userAgent) public ...
菜谱大全APP 输入关键词查询菜谱的安卓APP,曰菜谱大全,调用了聚合数据的API,用html做UI ...练习一下安卓HTTPClient,json的解析,类的封装。 采用http post方式请求数据(非聚合的SDK),appkey随时会失效。
注意:使用HttpURLConnection,只用调用java自身的jar包中的net方法,而使用Ht tpClient,要引入apache的jar包,调用里面的方法,不过这个是经过封装的,效率更高 。 【思考题】 1. 列举4种Android网络编程API? ...
集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息...