首页 > 代码库 > 【转】HttpClient使用Post和Get提交参数

【转】HttpClient使用Post和Get提交参数

package httpclient;import java.io.IOException;import java.net.URLEncoder;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpMethod;import org.apache.commons.httpclient.NameValuePair;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.methods.PostMethod;public class HttpClientTest {	public static void main(String[] args) throws Exception{		String url = "/webservices/DomesticAirline.asmx/getDomesticAirlinesTime";		String host = "www.webxml.com.cn";		String param = "startCity="+URLEncoder.encode("杭州", "utf-8")+"&lastCity=&theDate=&userID=";		HttpClient httpClient = new HttpClient();		httpClient.getHostConfiguration().setHost(host, 80, "http");						HttpMethod method = getMethod(url, param);		//HttpMethod method = postMethod(url);				httpClient.executeMethod(method);				String response = method.getResponseBodyAsString();		//String response = new String(method.getResponseBodyAsString().getBytes("ISO-8859-1"));						System.out.println(response);	}		private static HttpMethod getMethod(String url,String param) throws IOException{		GetMethod get = new GetMethod(url+"?"+param);		get.releaseConnection();		return get;	}			private static HttpMethod postMethod(String url) throws IOException{ 		PostMethod post = new PostMethod(url);		post.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");  		NameValuePair[] param = { new NameValuePair("startCity","杭州"),				new NameValuePair("lastCity","沈阳"),				new NameValuePair("userID",""),				new NameValuePair("theDate","")	} ;    	post.setRequestBody(param);    	post.releaseConnection();		return post;	}}

 
如果PostMethod提交的是中文字符,需要加上相应的编码格式:  post.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");  
如果GetMethod提交的参数有中文字符,需要先转换成utf-8格式:  URLEncoder.encode("杭州", "utf-8");

【转】HttpClient使用Post和Get提交参数