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");
分享到:
相关推荐
2. **构建MultipartEntity**:使用`MultipartEntityBuilder`添加文件和其他参数。 3. **设置实体到请求**:将构建好的`MultipartEntity`设置为HttpPost的实体。 4. **执行请求**:发送POST请求。 5. **处理响应**:...
### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...
在本示例中,我们将关注“httpclient使用post方法上传多个图片和其他参数的demo源码”,这是一个涉及到文件上传和参数传递的重要场景。 在Web开发中,POST方法常用于向服务器提交数据,比如表单数据或文件。...
它允许开发者模拟GET和POST等HTTP请求,并可以方便地发送JSON等数据作为请求参数。在本文中,我们将深入探讨如何使用HttpClient进行HTTP请求操作,以及如何处理JSON数据。 首先,我们需要引入HttpClient的相关依赖...
httpclient的用法,发送get请求和post请求,设置header
以上就是关于Android中通过GET和POST方式以及使用HttpClient框架进行网络通信的基本原理和实践步骤。理解这些概念和技巧对于构建功能丰富的Android应用程序至关重要。然而,随着技术的发展,开发者需要关注新的网络...
httpclient get/post请求工具类(map参数封装),方便调用
以下是使用HttpClient发送GET和POST请求的基本步骤: 1. 引入头文件:在代码中包含必要的头文件,如`#include <wininet.h>`。注意,为了使用这些API,需要链接到`Wininet.lib`库。 2. 初始化Internet会话:调用`...
5. 配置和使用:在Java项目中,我们首先需要将这些jar包添加到类路径中,然后可以通过创建HttpClient实例,创建HttpPost或HttpGet对象,设置请求参数,最后通过HttpClient执行请求并处理响应。 6. 示例代码: ```...
HttpClient库中的类和方法通常不需要使用注解,因为它的配置主要通过对象构造和方法调用来完成。然而,如果你在使用日志框架(如Log4j),可能需要在项目中添加相应的日志配置,如`@Log4j`,以便在代码中记录...
### 使用HttpClient通过GET和POST方式提交数据到服务器 在现代Web开发中,客户端与服务器之间的交互至关重要。HTTP协议是Web应用中最常用的通信协议之一,而HttpClient则是Java中用于发送HTTP请求的强大工具。本文...
GET请求用于获取服务器上的资源,而POST请求则常用于向服务器提交数据,比如表单数据或上传文件。 1. GET请求:HttpClientUtil中的GET方法通常会创建一个HttpGet对象,设置请求的URL,并通过HttpClient的execute...
一个简单的易学的 基于HttpClient 4.3发送psot及get请求,返回数据,适合初学者,适合初学者
总结,HttpClient是Java中强大的HTTP客户端工具,通过它我们可以方便地实现各种HTTP操作,包括简单的GET、POST请求,以及复杂的文件上传和下载。结合服务端的处理,可以构建出完整的网络通信解决方案。在实际使用中...
本方法以HttpClient发送请求,并且接收返回数据 举例说明 public static String doGet(String url, Map, String> params, String charset) public static void downLoadImage(String url, String path) public ...
在本文中,我们将深入探讨HttpClient的使用,包括如何发送GET、POST和PUT请求,并理解其核心概念和源码解析。 首先,HttpClient的核心组件包括HttpClient实例、HttpRequest对象和HttpResponse对象。HttpClient实例...
对于JSON数据,通常通过POST请求发送,而不是GET,因为GET请求的参数通常是有限制的。 5. **执行请求**:使用HttpClient实例执行HttpGet请求,并获取响应: ```java CloseableHttpResponse response = httpClient...