首页 > 代码库 > 【转】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提交参数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。