HttpClient的例子

来源:互联网 发布:雅思网络课程下载 编辑:程序博客网 时间:2024/05/18 02:40

书中介绍的HttpClient版本旧了,下面是新的4.0版本的例子:
  
  
  import java.io.BufferedInputStream;
  import java.io.IOException;
  import java.io.InputStream;
  import java.util.ArrayList;
  import java.util.List;
  
  import org.apache.http.HttpResponse;
  import org.apache.http.NameValuePair;
  import org.apache.http.client.ClientProtocolException;
  import org.apache.http.client.HttpClient;
  import org.apache.http.client.entity.UrlEncodedFormEntity;
  import org.apache.http.client.methods.HttpPost;
  import org.apache.http.impl.client.DefaultHttpClient;
  import org.apache.http.message.BasicNameValuePair;
  import org.apache.http.util.ByteArrayBuffer;
  
  public class GetAndPost {
   public static void main(String[]args){
   GetAndPost jq = new GetAndPost();
   jq.postData();
   }
   public void postData(){
  
   // Create a new HttpClient and Post Header
   HttpClient httpclient = new DefaultHttpClient();
   HttpPost httppost = new HttpPost("http://www.lietu.com");
  
   try {
   // Add your data
   List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
   nameValuePairs.add(new BasicNameValuePair("mydata", "Mek Mek"));
   httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
  
   // Execute HTTP Post Request
   HttpResponse response = httpclient.execute(httppost);
  
   InputStream is = response.getEntity().getContent();
   BufferedInputStream bis = new BufferedInputStream(is);
   ByteArrayBuffer baf = new ByteArrayBuffer(20);
  
   int current = 0;
   while((current = bis.read()) != -1){
   baf.append((byte)current);
   }
  
   String text = new String(baf.toByteArray(),"utf-8"); //指定编码
   System.out.println(text);
  
  
   } catch (ClientProtocolException e) {
   // TODO Auto-generated catch block
   } catch (IOException e) {
   // TODO Auto-generated catch block
   }
   }
  }
  
  谢谢支持!

jar包:

commons-codec-1.6.jar

commons-logging-1.1.1.jar

httpclient-4.2.5.jar

httpcore-4.2.4.jar

转自:http://book.douban.com/review/4883926/

原创粉丝点击