HttpClient基本操作

原创 2013年12月03日 21:56:25

HttpClient请求

HttpClient支持HTTP/1.1这个版本定义的所有Http方法:GET,HEAD,POST,PUT,DELETE,TRACE和OPTIONS。对于每一种http方法,HttpClient都定义了一个相应的类:HttpGet,HttpHead,HttpPost,HttpPut,HttpDelete,HttpTrace和HttpOpquertions。

Httpclient还可以自定义uri,方法如下:

//http://www.baidu.com/ur/chengjiu?from=super

      URI uri = new URIBuilder()

      .setScheme("http")

      .setHost("www.baidu.com")

      .setPath("/ur/chengjiu")

      .setParameter("from", "super")

      .build();

       HttpGet httpget = new HttpGet(uri);

       System.out.println(httpget.getURI());

 

输出:http://www.baidu.com/ur/chengjiu?from=super

 

下面模仿一个简单的请求例子:

HttpClient httpclient =HttpClients.createDefault();

HttpResponse response = httpclient.execute(httpget);

 

消息回应

消息头

Response中包含了回应的消息,我们可以轻易的得到回应的消息,方法如下

//得到回应状态码

System.out.println(response.getProtocolVersion());

System.out.println(response.getStatusLine().getStatusCode());

System.out.println(response.getStatusLine().getReasonPhrase());

System.out.println(response.getStatusLine().toString());

     

//得到回应消息头,HeaderIterator是参数迭代器

HeaderIterator it =response.headerIterator();

while (it.hasNext()) {

   System.out.println(it.next());

}

消息实体

得到实体内容

HttpEntity entity =response.getEntity();

   if (entity != null) {            

   try {

   InputStream content=entity.getContent();

   String charset=EntityUtils.getContentCharSet(entity);

   BufferedReader reader=new BufferedReader(new InputStreamReader(content,charset));

   String line=null;

   while((line = reader.readLine()) != null){

       System.out.println(line);

   }

   reader.close();

   } catch (Exception e) {

   }

}

 

模拟表单登陆

很多应用程序需要模拟提交Html表单的过程,举个例子,登陆一个网站或者将输入内容提交给服务器。HttpClient提供了UrlEncodedFormEntity这个类来帮助实现这一过程。

List<NameValuePair>formparams = new ArrayList<NameValuePair>();

formparams.add(new BasicNameValuePair("email", "value1"));

formparams.add(new BasicNameValuePair("password", "value2"));

HttpPost httppost = new HttpPost("http://www.renren.com/PLogin.do");

UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, Consts.UTF_8);

httppost.setEntity(entity);

httpclient.execute(httppost);

相关文章推荐

链表类及其基本操作

  • 2017年11月18日 09:13
  • 7KB
  • 下载

Centos常用基本操作命令

  • 2017年11月07日 20:02
  • 140KB
  • 下载

Android网络请求操作httpurlconnection和httpclient基本使用

Android网络请求操作httpclient和httpurlconnection原生的方法使用有需要的可以直接拷贝使用,有问题之处希望大家踊跃留言更改方便你我他使用,本博客只是希望给自己留个代码块备...

C#数据库的一些基本操作 第一篇

基础知识总结: 1、对于数据库中经常用于查询的字段,可以添加创建索引以提高查询的效率,添加索引对其它操作不会有任何的影响。 2、在创建数据库的时候需要注意字段类型的选择,如果存入的数据的长度不确定...

Excel表格的基本操作手册

  • 2015年03月13日 08:26
  • 396KB
  • 下载

Mysql的基本操作命令 (转载)

1、连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1、连接到本机上的MYSQL。 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql ...
  • Com_ma
  • Com_ma
  • 2016年07月28日 10:07
  • 182

flash 基本操作PPT

  • 2014年12月15日 20:05
  • 4.57MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HttpClient基本操作
举报原因:
原因补充:

(最多只允许输入30个字)