HttpClient 发送Post,Get请求例子(包含设置请求头信息和获取返回头信息)
2015-01-21 12:51
806 查看
package com.test.action; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.params.HttpMethodParams; /** * * 依赖 commons-httpclient-3.1.jar commons-codec-1.4.jar * @author tianjun * */ public class PostTest { public static void main(String[] args) { // (1)构造HttpClient的实例 HttpClient httpClient = new HttpClient(); // (2)创建POST方法的实例 PostMethod postMethod = new PostMethod( "http://localhost:8080/b/test1.do"); // GetMethod getMethod = new // GetMethod("http://localhost:8080/b/test1.do"); // (3)设置http request头 List<Header> headers = new ArrayList<Header>(); headers.add(new Header("tianjun_key","tianjun_value")); httpClient.getHostConfiguration().getParams().setParameter( "http.default-headers", headers); // 使用系统提供的默认的恢复策略 postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler()); // getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, // new DefaultHttpMethodRetryHandler()); try { // (4)执行postMethod int statusCode = httpClient.executeMethod(postMethod); if (statusCode != HttpStatus.SC_OK) { System.err.println("Method failed:" + postMethod.getStatusLine()); } // (5)读取response头信息 Header headerResponse = postMethod .getResponseHeader("response_key"); String headerStr = headerResponse.getValue(); // (6)读取内容 byte[] responseBody = postMethod.getResponseBody(); // (7) 处理内容 System.out.println(headerStr); System.out.println(new String(responseBody)); } catch (HttpException e) { // 发生致命的异常,可能是协议不对或者返回的内容有问题 System.out.println("Please check your provided http address!"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { // 释放连接 postMethod.releaseConnection(); } } }
相关文章推荐
- Java爬虫(一)利用GET和POST发送请求,获取服务器返回信息
- Java爬虫(一)利用GET和POST发送请求,获取服务器返回信息
- java 发送POST、GET请求时,获取请求的头信息Set-Cookie,请求携带Cookie
- HttpClient get和HttpClient Post请求的方式获取服务器的返回数据
- 接口测试入门(2)--get和post初级请求/使用httpclient做一个获取信息list的请求(需要登录才可以)
- HttpClient get和HttpClient Post请求的方式获取服务器的返回数据
- HttpClient get和HttpClient Post请求的方式获取服务器的返回数据
- 使用HttpClient 发送get、post请求,及其解析xml返回数据
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- httpClient使用,1 发送post请求 2 发送get请求取得接口中的数据
- HttpClient模拟get,post请求并发送请求参数(json等)
- 利用HTTPClient模块中HttpGet和HttpPost 发送接口请求
- BIM360: C#如何发送HTTP GET和POST请求登陆BIM 360 Glue以及获取项目列表
- 初涉Ajax,以post或get方法发送数据,以json或xml形式接收服务器返回的请求
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- jQuery以Post方式发送请求并获取返回的文件供下载!
- 模拟表单发送POST,GET请求获取数据
- Java用org.apache.http.client的HttpClient发送Post请求 可获取返回Header
- HTTP协议中GET、POST和HEAD的介绍 2008-05-10 14:15 GET: 请求指定的页面信息,并返回实体主体。 HEAD: 只请求页面的首部。 POST: 请求服务器接受所指定的文
- HttpClient发送post请求,和发送get请求