Httpclient:HTTP协议 访问网络资源(关键字)
提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持HTTP 协议最新的版本和建议。ommons-httpclient项目:来简化HTTP客户端与服务器进行各种通讯编程。
通信避免不了请求,如何请求哪?请求:
GET, HEAD, POST, PUT, DELETE, TRACE and OPTIONS,
程序包中分别用HttpGet, HttpHead, HttpPost, HttpPut, HttpDelete, HttpTrace,and HttpOptions 这几个类创建请求。所有的这些类均实现了HttpUriRequest接口,故可以作为execute的执行参数使用。
为request提供参数
Request-line
在请求行上通过URL提供参数
HttpPost post=new HttpPost("URL地址"); 或 HttpGet get=new HttpGet("URL地址");
URIUtils:生成带参数的URL
URI uri =URIUtils.createURI("http", "localhost", -1,"/index.html","param1=value1¶m2=value2", null);
HttpUriRequest request = newHttpGet(uri);
System.out.println(request.getURI());
设置编码格式(两种方式)
StringEntity entity=new UrlEncodedFormEntity(formList,"utf-8");
String param =URLEncodedUtils.format(params, "UTF-8");
Request-body
post请求是在body中提供参数
// 第二步:创建一个HttpPost对象。需要指定一个url
HttpPost post = new HttpPost("http://localhost:8071/posttest.html");
// 第三步:创建一个list模拟表单,list中每个元素是一个NameValuePair对象
List<NameValuePair> formList = new ArrayList<>();
formList.add(new BasicNameValuePair("name", "张三"));
formList.add(new BasicNameValuePair("pass", "1243"));
// 第四步:需要把表单包装到Entity对象中。StringEntity
StringEntity entity = new UrlEncodedFormEntity(formList, "utf-8");
http://blog.csdn.net/chenyi_home/article/details/17240457
http://blog.csdn.net/chenyi_home/article/details/17240457
https://www.cnblogs.com/ITtangtang/p/3968093.html
http://www.linuxidc.com/Linux/2012-02/55502.htm