HttpClient使用Post和Get提交參數 -开发者知识库

HttpClient使用Post和Get提交參數 -开发者知识库,第1张

  1. package httpclient;  
  2.   
  3. import java.io.IOException;  
  4. import java.net.URLEncoder;  
  5.   
  6. import org.apache.commons.httpclient.HttpClient;  
  7. import org.apache.commons.httpclient.HttpMethod;  
  8. import org.apache.commons.httpclient.NameValuePair;  
  9. import org.apache.commons.httpclient.methods.GetMethod;  
  10. import org.apache.commons.httpclient.methods.PostMethod;  
  11.   
  12. public class HttpClientTest {  
  13.   
  14.     public static void main(String[] args) throws Exception{  
  15.         String url = "/webservices/DomesticAirline.asmx/getDomesticAirlinesTime";  
  16.         String host = "www.webxml.com.cn";  
  17.         String param = "startCity=" URLEncoder.encode("杭州""utf-8") "&lastCity=&theDate=&userID=";  
  18.         HttpClient httpClient = new HttpClient();  
  19.         httpClient.getHostConfiguration().setHost(host, 80"http");          
  20.           
  21.         HttpMethod method = getMethod(url, param);  
  22.         //HttpMethod method = postMethod(url);  
  23.           
  24.         httpClient.executeMethod(method);  
  25.           
  26.         String response = method.getResponseBodyAsString();  
  27.         //String response = new String(method.getResponseBodyAsString().getBytes("ISO-8859-1"));                  
  28.         System.out.println(response);  
  29.     }  
  30.       
  31.     private static HttpMethod getMethod(String url,String param) throws IOException{  
  32.         GetMethod get = new GetMethod(url "?" param);  
  33.         get.releaseConnection();  
  34.         return get;  
  35.     }  
  36.           
  37.     private static HttpMethod postMethod(String url) throws IOException{   
  38.         PostMethod post = new PostMethod(url);  
  39.         post.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");    
  40.         NameValuePair[] param = { new NameValuePair("startCity","杭州"),  
  41.                 new NameValuePair("lastCity","沈陽"),  
  42.                 new NameValuePair("userID",""),  
  43.                 new NameValuePair("theDate","") } ;  
  44.         post.setRequestBody(param);  
  45.         post.releaseConnection();  
  46.         return post;  
  47.     }  
  48. }  



如果PostMethod提交的是中文字符,需要加上相應的編碼格式: 
post.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");  

如果GetMethod提交的參數有中文字符,需要先轉換成utf-8格式: 
URLEncoder.encode("杭州", "utf-8");

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复