`

用HttpClient模拟HTTP的GET和POST请求

    博客分类:
  • java
 
阅读更多

一、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请求

    HttpClient模拟http发送post和get请求

    HttpClient模拟get,post请求并发送请求参数(json等)

    它允许开发者模拟GET和POST等HTTP请求,并可以方便地发送JSON等数据作为请求参数。在本文中,我们将深入探讨如何使用HttpClient进行HTTP请求操作,以及如何处理JSON数据。 首先,我们需要引入HttpClient的相关依赖...

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    ### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...

    JAVA-用HttpClient来模拟浏览器GET,POST.docx

    JAVA使用HttpClient模拟浏览器GET、POST请求 在本文中,我们将介绍如何使用Apache Commons HttpClient库来模拟浏览器的GET和POST请求。HttpClient库是一个开放源码的项目,是Apache Commons项目的一部分,旨在简化...

    后台模拟发送GET和POST请求

    使用HttpClient模拟GET和POST请求,主要涉及以下几个步骤: 1. 创建HttpClient实例:这是所有操作的基础,通过`HttpClientBuilder`或`HttpClients`类可以创建HttpClient对象。 ```java CloseableHttpClient ...

    HttpClient模拟http浏览器请求

    2. **HttpGet与HttpPost**:HttpClient提供了`HttpGet`和`HttpPost`类来分别处理HTTP GET和POST请求。创建请求对象时,我们需要指定请求的URL,如`HttpGet httpGet = new HttpGet("http://example.com")`。 3. **...

    用HttpClient来模拟浏览器GET_POST

    使用HttpClient来模拟浏览器GET_POST HttpClient是一个Apache开源组织中的项目,隶属于Jakarta的commons项目,旨在简化HTTP客户端与服务器进行各种通讯编程。通过使用HttpClient,可以轻松地解决以前很头疼的事情,...

    用HttpClient来模拟浏览器的GET,POST

    总结,HttpClient是Java中强大的HTTP客户端工具,通过它可以方便地模拟浏览器的GET和POST请求,同时提供了丰富的配置选项和源码供开发者深入研究。理解和掌握HttpClient的使用能提升开发效率,更好地应对网络通信的...

    C# 使用HttpClient模拟请求的案例

    POST请求Content-Type 设置为application/x-www-form-urlencoded 除此之外,我们对请求添加签名的校验,key设置为X-Sign 接口定义 /// /// 获取时间戳(毫秒). /// /// &lt;param name=dateTime&gt;&lt;/param&gt; /// ...

    (完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc

    在示例代码中,我们使用HttpGet对象来发送POST请求,并指定请求的URL、请求头和请求体。 使用HttpClient发送POST请求可以帮助我们与HTTPS服务器进行交互,但需要注意证书验证过程。使用X509TrustManager可以忽略...

    c# http协议,实现get或post发送请求 并返回内容

    以下是如何使用HttpClient发送GET和POST请求的示例: **GET请求示例:** ```csharp using System.Net.Http; using System.Threading.Tasks; public async Task&lt;string&gt; SendHttpGetRequest(string url) { using ...

    java httpclient 模拟登录

    在Java编程中,HttpClient库是Apache提供的一款强大的HTTP客户端工具,用于执行HTTP请求,包括GET、POST、PUT等多种HTTP方法。在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站...

    java使用httpclient模拟post请求和get请求示例

    通过这个示例,我们可以了解到如何使用Apache HttpClient进行GET和POST请求,以及如何处理响应和异常。这只是一个基础的用法,HttpClient库提供了许多高级特性,如连接池、超时设置、自定义认证等,可以根据具体需求...

    HttpClient模拟登录实例

    在模拟登录时,我们通常会用到HttpPost,因为登录通常涉及到POST请求。 1. **创建HttpClient实例** 创建HttpClient实例是模拟登录的第一步。这可以通过`HttpClientBuilder`或直接使用`HttpClient`的静态工厂方法...

    用HttpClient来模拟浏览器GET POST

    NULL 博文链接:https://msnvip.iteye.com/blog/261159

    java web中 HttpClient模拟浏览器登录后发起请求

    在上面的代码中,我们首先使用 HttpPost 方法模拟浏览器登录到服务器,然后使用 HttpGet 方法请求需要的资源。在整个过程中,我们使用的是 DefaultHttpClient 对象,并使用 PoolingClientConnectionManager 来管理...

    JAVA发送HttpClient请求及接收请求完整代码实例

    这个类可能包含发送GET、POST请求的方法,以及其他辅助功能,如处理超时、重试策略等。 ```java public class HttpClientUtil { public static String sendGetRequest(String url) { // 实现GET请求逻辑 } ...

    HttpClient模拟登陆

    在阅读博文《HttpClient模拟登陆》时,可以深入学习如何解决这些具体问题,并查看示例代码以获得更详细的实现细节。 标签“源码”意味着你需要关注底层的工作原理,而“工具”标签则暗示HttpClient作为一个实用工具...

    httpclient模拟登陆

    ### HTTPClient 模拟登录详解 #### 一、概述 HTTPClient是Apache组织下的一个开源项目,它提供了功能丰富的HTTP客户端开发工具包,可以用来发送HTTP请求并接收响应。利用HTTPClient,我们可以轻松实现模拟登录的...

Global site tag (gtag.js) - Google Analytics