一、HttpClient介绍
HttpClient是用来模拟HTTP请求的,其实实质就是把HTTP请求模拟后发给Web服务器
HTTP GET核心代码:
(1)DefaultHttpClient client = new DefaultHttpClient();
(2)HttpGet get = new HttpGet(String url);//此处的URL为http://..../path?arg1=value&....argn=value
(3)HttpResponse response = client.execute(get); //模拟请求
(4)int code = response.getStatusLine().getStatusCode();//返回响应码
(5)InputStream in = response.getEntity().getContent();//服务器返回的数据
HTTP POST核心代码:
(1)DefaultHttpClient client = new DefaultHttpClient();
(2)BasicNameValuePair pair = new BasicNameValuePair(String name,String value);//创建一个请求头的字段,比如content-type,text/plain
(3)UrlEncodedFormEntity entity = new UrlEncodedFormEntity(List<NameValuePair> list,String encoding);//对自定义请求头进行URL编码
(4)HttpPost post = new HttpPost(String url);//此处的URL为http://..../path
(5)post.setEntity(entity);
(6)HttpResponse response = client.execute(post);
(7)int code = response.getStatusLine().getStatusCode();
(8)InputStream in = response.getEntity().getContent();//服务器返回的数据
//测试代码:
public static void main(String[] args) throws Exception
{
DefaultHttpClient client = new DefaultHttpClient();
List<NameValuePair> list = new ArrayList<NameValuePair>();
String data = "aaa";
NameValuePair pair1 = new BasicNameValuePair("data", data);
list.add(pair1);
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, "UTF-8");
HttpPost post = new HttpPost("http://192.168.0.10:80/Server/Servlet/");
post.setEntity(entity);
HttpResponse response = client.execute(post);
if(response.getStatusLine().getStatusCode() == 200)
{
InputStream in = response.getEntity().getContent();// 接收服务器的数据
String str = readString(in);
System.out.println("str:" + str);
}
else
{
System.out.println("调用失败");
}
}
private static String readString(InputStream in) throws Exception
{
byte[] data = new byte[1024];
int length = 0;
ByteArrayOutputStream bout = new ByteArrayOutputStream();
while((length = in.read(data)) != -1)
{
bout.write(data, 0, length);
}
return new String(bout.toByteArray(), "UTF-8");
}
相关推荐
HttpClient模拟http发送post和get请求
它允许开发者模拟GET和POST等HTTP请求,并可以方便地发送JSON等数据作为请求参数。在本文中,我们将深入探讨如何使用HttpClient进行HTTP请求操作,以及如何处理JSON数据。 首先,我们需要引入HttpClient的相关依赖...
### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...
JAVA使用HttpClient模拟浏览器GET、POST请求 在本文中,我们将介绍如何使用Apache Commons HttpClient库来模拟浏览器的GET和POST请求。HttpClient库是一个开放源码的项目,是Apache Commons项目的一部分,旨在简化...
使用HttpClient模拟GET和POST请求,主要涉及以下几个步骤: 1. 创建HttpClient实例:这是所有操作的基础,通过`HttpClientBuilder`或`HttpClients`类可以创建HttpClient对象。 ```java CloseableHttpClient ...
2. **HttpGet与HttpPost**:HttpClient提供了`HttpGet`和`HttpPost`类来分别处理HTTP GET和POST请求。创建请求对象时,我们需要指定请求的URL,如`HttpGet httpGet = new HttpGet("http://example.com")`。 3. **...
使用HttpClient来模拟浏览器GET_POST HttpClient是一个Apache开源组织中的项目,隶属于Jakarta的commons项目,旨在简化HTTP客户端与服务器进行各种通讯编程。通过使用HttpClient,可以轻松地解决以前很头疼的事情,...
总结,HttpClient是Java中强大的HTTP客户端工具,通过它可以方便地模拟浏览器的GET和POST请求,同时提供了丰富的配置选项和源码供开发者深入研究。理解和掌握HttpClient的使用能提升开发效率,更好地应对网络通信的...
POST请求Content-Type 设置为application/x-www-form-urlencoded 除此之外,我们对请求添加签名的校验,key设置为X-Sign 接口定义 /// /// 获取时间戳(毫秒). /// /// <param name=dateTime></param> /// ...
在示例代码中,我们使用HttpGet对象来发送POST请求,并指定请求的URL、请求头和请求体。 使用HttpClient发送POST请求可以帮助我们与HTTPS服务器进行交互,但需要注意证书验证过程。使用X509TrustManager可以忽略...
以下是如何使用HttpClient发送GET和POST请求的示例: **GET请求示例:** ```csharp using System.Net.Http; using System.Threading.Tasks; public async Task<string> SendHttpGetRequest(string url) { using ...
在Java编程中,HttpClient库是Apache提供的一款强大的HTTP客户端工具,用于执行HTTP请求,包括GET、POST、PUT等多种HTTP方法。在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站...
通过这个示例,我们可以了解到如何使用Apache HttpClient进行GET和POST请求,以及如何处理响应和异常。这只是一个基础的用法,HttpClient库提供了许多高级特性,如连接池、超时设置、自定义认证等,可以根据具体需求...
在模拟登录时,我们通常会用到HttpPost,因为登录通常涉及到POST请求。 1. **创建HttpClient实例** 创建HttpClient实例是模拟登录的第一步。这可以通过`HttpClientBuilder`或直接使用`HttpClient`的静态工厂方法...
NULL 博文链接:https://msnvip.iteye.com/blog/261159
在上面的代码中,我们首先使用 HttpPost 方法模拟浏览器登录到服务器,然后使用 HttpGet 方法请求需要的资源。在整个过程中,我们使用的是 DefaultHttpClient 对象,并使用 PoolingClientConnectionManager 来管理...
这个类可能包含发送GET、POST请求的方法,以及其他辅助功能,如处理超时、重试策略等。 ```java public class HttpClientUtil { public static String sendGetRequest(String url) { // 实现GET请求逻辑 } ...
在阅读博文《HttpClient模拟登陆》时,可以深入学习如何解决这些具体问题,并查看示例代码以获得更详细的实现细节。 标签“源码”意味着你需要关注底层的工作原理,而“工具”标签则暗示HttpClient作为一个实用工具...
### HTTPClient 模拟登录详解 #### 一、概述 HTTPClient是Apache组织下的一个开源项目,它提供了功能丰富的HTTP客户端开发工具包,可以用来发送HTTP请求并接收响应。利用HTTPClient,我们可以轻松实现模拟登录的...