【转】HttpClient使用Post和Get提交参数
2014-12-08 18:25
323 查看
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提交参数
- HttpClient使用Post和Get提交参数
- HttpClient使用Post和Get提交参数 中文乱码处理
- HttpClient 4.1.3 初学篇---使用Get和Post模拟登录简单页面(分别带参数)
- HttpClient的get和post方式提交数据的使用
- httpclient使用post提交json参数
- Java 使用 URLConnection 模拟 Http Get和Post 提交
- Android学习笔记---27_网络通信之通过GET和POST方式提交参数给web应用,以及使用httpClient,来给web项目以post方式发送参数
- android客户端通过Get方式提交参数给服务器,使用URL和HttpURLConnection实现,以及乱码问题解决
- Android HttpClient基本使用方法!!--get和post
- Android使用Apache HttpClient发送GET、POST请求
- HttpClient使用Post和Get提交参数
- http-使用get和post方式提交数据
- Java:HttpClient篇,HttpClient4.2在Java中的几则应用:Get、Post参数、Session(会话)保持、Proxy(代理服务器)设置,多线程设置...
- HttpClient 实现重定向 以表单方式post提交参数
- http-使用get和post方式提交数据
- HttpClient get, post使用
- 程序使用 HTTP 协议和服务器交互主要是进行数据的提交,通常数据的提交是通过 GET 和 POST 两种方式来完成
- 使用file_get_contents提交http post
- 使用file_get_contents提交http post