`
伊然01
  • 浏览: 307060 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

HttpClient Java模拟Http请求

    博客分类:
  • Java
阅读更多
HttpClient Get POST
[图片] 需要导入的jar包
commons-logging.jar httpcore-4.0.1.jar  httpclient-4.0.3.jar

[代码] HttpClient4使用

001 package main; 

002   

003 import java.io.IOException; 

004 import java.io.UnsupportedEncodingException; 

005 import java.net.URI; 

006 import java.net.URISyntaxException; 

007 import java.util.ArrayList; 

008 import java.util.List; 

009   

010 import org.apache.http.HttpEntity; 

011 import org.apache.http.HttpResponse; 

012 import org.apache.http.NameValuePair; 

013 import org.apache.http.ParseException; 

014 import org.apache.http.client.ClientProtocolException; 

015 import org.apache.http.client.HttpClient; 

016 import org.apache.http.client.entity.UrlEncodedFormEntity; 

017 import org.apache.http.client.methods.HttpGet; 

018 import org.apache.http.client.methods.HttpPost; 

019 import org.apache.http.impl.client.DefaultHttpClient; 

020 import org.apache.http.message.BasicNameValuePair; 

021 import org.apache.http.util.EntityUtils; 

022   

023 public class Main { 

024   

025     private static HttpClient hc = new DefaultHttpClient(); 

026   

027     /** 

028      * @param args 

029      */

030     public static void main(String[] args) { 

031         List<NameValuePair> params = new ArrayList<NameValuePair>(); 

032         params.add(new BasicNameValuePair("email", "xxx@gmail.com")); 

033         params.add(new BasicNameValuePair("pwd", "xxx")); 

034         params.add(new BasicNameValuePair("save_login", "1")); 

035   

036         String url = "http://www.oschina.net/action/user/login"; 

037   

038         String body = post(url, params); 

039         System.out.println(body); 

040     } 

041   

042     /** 

043      * Get请求 

044      * @param url 

045      * @param params 

046      * @return 

047      */

048     public static String get(String url, List<NameValuePair> params) { 

049         String body = null; 

050         try { 

051             // Get请求 

052             HttpGet httpget = new HttpGet(url); 

053             // 设置参数 

054             String str = EntityUtils.toString(new UrlEncodedFormEntity(params)); 

055             httpget.setURI(new URI(httpget.getURI().toString() + "?" + str)); 

056             // 发送请求 

057             HttpResponse httpresponse = hc.execute(httpget); 

058             // 获取返回数据 

059             HttpEntity entity = httpresponse.getEntity(); 

060             body = EntityUtils.toString(entity); 

061             if (entity != null) { 

062                 entity.consumeContent(); 

063             } 

064         } catch (ParseException e) { 

065             e.printStackTrace(); 

066         } catch (UnsupportedEncodingException e) { 

067             e.printStackTrace(); 

068         } catch (IOException e) { 

069             e.printStackTrace(); 

070         } catch (URISyntaxException e) { 

071             e.printStackTrace(); 

072         } 

073         return body; 

074     } 

075   

076     /** 

077      * // Post请求 

078      * @param url 

079      * @param params 

080      * @return 

081      */

082     public static String post(String url, List<NameValuePair> params) { 

083         String body = null; 

084         try { 

085             // Post请求 

086             HttpPost httppost = new HttpPost(url); 

087             // 设置参数 

088             httppost.setEntity(new UrlEncodedFormEntity(params)); 

089             // 发送请求 

090             HttpResponse httpresponse = hc.execute(httppost); 

091             // 获取返回数据 

092             HttpEntity entity = httpresponse.getEntity(); 

093             body = EntityUtils.toString(entity); 

094             if (entity != null) { 

095                 entity.consumeContent(); 

096             } 

097         } catch (UnsupportedEncodingException e) { 

098             e.printStackTrace(); 

099         } catch (ClientProtocolException e) { 

100             e.printStackTrace(); 

101         } catch (ParseException e) { 

102             e.printStackTrace(); 

103         } catch (IOException e) { 

104             e.printStackTrace(); 

105         } 

106         return body; 

107     } 

108   

http://www.oschina.net/code/snippet_54371_1515

http://openmind.iteye.com/blog/1329720
分享到:
评论

相关推荐

    java httpclient 模拟登录

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

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

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

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

    "JAVA利用HttpClient进行POST请求(HTTPS)" JAVA HttpClient是Apache软件基金会提供的一个开源实现HTTP客户端的Java库,能够帮助开发者轻松地与HTTP服务器进行交互。在实际项目中,我们经常需要使用HttpClient来发送...

    HttpClient模拟http浏览器请求

    在Java编程中,HttpClient提供了一个强大的API,允许我们创建自定义的HTTP请求,设置请求头,携带参数,处理响应等。以下是一些使用HttpClient的关键知识点: 1. **HttpClient对象创建**:首先,我们需要创建一个...

    使用Java模拟http请求.rar

    Java作为一种多用途的编程语言,提供了丰富的库来帮助开发者模拟HTTP请求,使得我们可以在程序中实现与服务器的交互,比如发送GET、POST请求,获取网页数据,甚至进行文件上传等操作。本教程将详细讲解如何使用Java...

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

    在Java编程中,HttpClient是一个非常重要的工具库,用于执行HTTP请求。它允许开发者模拟浏览器行为,向服务器发送GET、POST或者其他HTTP方法的请求,并接收服务器的响应。在本实例中,我们将深入探讨如何使用...

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

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

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

    HttpClient是Apache基金会开发的一个HTTP客户端库,用于在Java应用程序中执行HTTP请求。它允许开发者模拟GET和POST等HTTP请求,并可以方便地发送JSON等数据作为请求参数。在本文中,我们将深入探讨如何使用...

    java模拟淘宝登录源码

    Java模拟淘宝登录源码是一种常见的网络编程技术,主要用于自动化测试、数据抓取或者模拟用户行为。在这个场景中,我们使用的工具是HTTPClient库,这是一个强大的Java HTTP客户端应用编程接口,可以方便地处理HTTP...

    模拟Http请求

    主要分为以下几个部分:Http请求的基本概念、模拟Http请求的必要性、Apache HttpClient库的介绍及其在Java中的使用方法。 ### Http请求基本概念 Http(Hypertext Transfer Protocol)是用于从WWW服务器传输超文本...

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

    Java Web 中 HttpClient 模拟浏览器登录后发起请求 Java Web 中 HttpClient 模拟浏览器登录后发起请求是指在 Java Web 应用程序中使用 HttpClient 库模拟浏览器的行为,模拟浏览器登录到服务器,然后发起请求获取...

    java,HttpClient模拟上传,绕过SSL认证

    在Java编程中,HttpClient库是Apache提供的一款强大的HTTP客户端工具,用于执行HTTP和HTTPS请求。在某些场景下,比如开发测试或调试时,我们可能需要模拟上传文件到HTTPS服务器,而这个过程可能会遇到SSL(Secure ...

    java发送http请求工具类

    Java中发送HTTP请求的方式有很多,如使用`java.net.HttpURLConnection`、`java.net.URL`、Apache HttpClient库或OkHttp库。本工具类主要基于`HttpURLConnection`,因为它是Java标准库的一部分,无需额外依赖,且能...

    HttpClient模拟登录实例

    HttpClient是Apache基金会开发的一个Java库,它为Java程序员提供了一个强大的工具来执行HTTP请求并处理响应。这个库广泛用于Web服务交互,特别是当需要模拟浏览器行为,如登录、提交表单或者处理网页上的动态内容时...

    模拟https请求工具类

    httpClient模拟https请求,包含图片上传等。

    httpclient模拟post请求json封装表单数据的实现方法

    HTTPClient 是一个强大的 Java 库,它允许程序员模拟 HTTP 请求,包括 POST 请求。在这个场景中,我们关注的是如何使用 HTTPClient 发送一个 JSON 格式的 POST 请求并封装表单数据。下面将详细介绍这个过程。 首先...

    javaHttp异步请求

    在实际开发中,这样的测试文件通常包含各种HTTP请求和响应的模拟数据,用于确保异步请求和流式处理功能的正确性。 总之,Java中的HTTP异步请求通过`HttpAsyncClients`和自定义的回调处理类,如`...

    java模拟http请求登陆抓取海投网信息

    1. **HTTP客户端库**:Java提供了多种库来发送HTTP请求,如HttpURLConnection(Java内置)、Apache HttpClient或OkHttp。这些库允许我们构造POST请求,模拟用户登录过程,通常需要设置请求头(如User-Agent)、POST...

    java模拟post请求

    总的来说,Java模拟POST请求涉及到网络通信和HTTP协议的理解,通过Apache HttpClient库可以方便地实现这一功能。在处理API交互时,正确构建请求和解析响应是关键,这有助于确保数据的准确性和系统的稳定性。

Global site tag (gtag.js) - Google Analytics