1. 程式人生 > >http post 請求的示例程式碼

http post 請求的示例程式碼

package org.apache.http.examples.client;


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;


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.protocol.HTTP;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;  




public class QuickStartLiuPost {


@SuppressWarnings("deprecation")  
   public static void main(String[] args) throws Exception {  
       HttpClient httpclient = new DefaultHttpClient();  
       //http://xxx.xxx.com
       HttpPost httpPost = new HttpPost("http://xxx.com");  
       // prepare the request parameters  
       List<NameValuePair> params=new ArrayList<NameValuePair>();  
       params.add(new BasicNameValuePair("project_id","1"));  
       params.add(new BasicNameValuePair("userName","1728883774774"));
       params.add(new BasicNameValuePair("password","111"));
       params.add(new BasicNameValuePair("searchContent","李四"));
       
       // set the request entity  
       httpPost.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));  
         
       /* execute the request */  
       HttpResponse response = httpclient.execute(httpPost);  
 
       /* check whether it has relocated */  
       int statusCode = response.getStatusLine().getStatusCode();  
       if (statusCode == HttpStatus.SC_MOVED_TEMPORARILY ||   
           statusCode == HttpStatus.SC_MOVED_PERMANENTLY ||  
           statusCode == HttpStatus.SC_SEE_OTHER ||   
           statusCode == HttpStatus.SC_TEMPORARY_REDIRECT){  
             
           Header[] headers = response.getHeaders("location");  
             
           if (headers != null) {  
               httpPost.releaseConnection();  
               String newUrl = headers[0].getValue();  
               httpPost.setURI(URI.create(newUrl));  
               response = httpclient.execute(httpPost);  
           }  
       }  
       HttpEntity entity = response.getEntity();  
       System.out.println(response.getStatusLine());  
       Header[] headers=response.getAllHeaders();  
       for(Header header:headers){  
           System.out.println(header);  
       }  
       if (entity != null) {  
           System.out.println("\nResponse content length: "+ entity.getContentLength());  
       }  
       BufferedReader is=new BufferedReader(  new InputStreamReader(entity.getContent(),HTTP.UTF_8));  
       String line=null;  
       while((line=is.readLine())!=null){  
           System.out.println(line);  
       }  
       // Do not feel like reading the response body  
       // Call abort on the request object  
       httpPost.abort();  
       // When HttpClient instance is no longer needed,  
       // shut down the connection manager to ensure  
       // immediate deallocation of all system resources  
       httpclient.getConnectionManager().shutdown();  
   }  
}