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库是Apache提供的一款强大的HTTP客户端工具,用于执行HTTP请求,包括GET、POST、PUT等多种HTTP方法。在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站...
### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...
"JAVA利用HttpClient进行POST请求(HTTPS)" JAVA HttpClient是Apache软件基金会提供的一个开源实现HTTP客户端的Java库,能够帮助开发者轻松地与HTTP服务器进行交互。在实际项目中,我们经常需要使用HttpClient来发送...
在Java编程中,HttpClient提供了一个强大的API,允许我们创建自定义的HTTP请求,设置请求头,携带参数,处理响应等。以下是一些使用HttpClient的关键知识点: 1. **HttpClient对象创建**:首先,我们需要创建一个...
Java作为一种多用途的编程语言,提供了丰富的库来帮助开发者模拟HTTP请求,使得我们可以在程序中实现与服务器的交互,比如发送GET、POST请求,获取网页数据,甚至进行文件上传等操作。本教程将详细讲解如何使用Java...
在Java编程中,HttpClient是一个非常重要的工具库,用于执行HTTP请求。它允许开发者模拟浏览器行为,向服务器发送GET、POST或者其他HTTP方法的请求,并接收服务器的响应。在本实例中,我们将深入探讨如何使用...
JAVA使用HttpClient模拟浏览器GET、POST请求 在本文中,我们将介绍如何使用Apache Commons HttpClient库来模拟浏览器的GET和POST请求。HttpClient库是一个开放源码的项目,是Apache Commons项目的一部分,旨在简化...
HttpClient是Apache基金会开发的一个HTTP客户端库,用于在Java应用程序中执行HTTP请求。它允许开发者模拟GET和POST等HTTP请求,并可以方便地发送JSON等数据作为请求参数。在本文中,我们将深入探讨如何使用...
Java模拟淘宝登录源码是一种常见的网络编程技术,主要用于自动化测试、数据抓取或者模拟用户行为。在这个场景中,我们使用的工具是HTTPClient库,这是一个强大的Java HTTP客户端应用编程接口,可以方便地处理HTTP...
主要分为以下几个部分:Http请求的基本概念、模拟Http请求的必要性、Apache HttpClient库的介绍及其在Java中的使用方法。 ### Http请求基本概念 Http(Hypertext Transfer Protocol)是用于从WWW服务器传输超文本...
Java Web 中 HttpClient 模拟浏览器登录后发起请求 Java Web 中 HttpClient 模拟浏览器登录后发起请求是指在 Java Web 应用程序中使用 HttpClient 库模拟浏览器的行为,模拟浏览器登录到服务器,然后发起请求获取...
在Java编程中,HttpClient库是Apache提供的一款强大的HTTP客户端工具,用于执行HTTP和HTTPS请求。在某些场景下,比如开发测试或调试时,我们可能需要模拟上传文件到HTTPS服务器,而这个过程可能会遇到SSL(Secure ...
Java中发送HTTP请求的方式有很多,如使用`java.net.HttpURLConnection`、`java.net.URL`、Apache HttpClient库或OkHttp库。本工具类主要基于`HttpURLConnection`,因为它是Java标准库的一部分,无需额外依赖,且能...
HttpClient是Apache基金会开发的一个Java库,它为Java程序员提供了一个强大的工具来执行HTTP请求并处理响应。这个库广泛用于Web服务交互,特别是当需要模拟浏览器行为,如登录、提交表单或者处理网页上的动态内容时...
httpClient模拟https请求,包含图片上传等。
HTTPClient 是一个强大的 Java 库,它允许程序员模拟 HTTP 请求,包括 POST 请求。在这个场景中,我们关注的是如何使用 HTTPClient 发送一个 JSON 格式的 POST 请求并封装表单数据。下面将详细介绍这个过程。 首先...
在实际开发中,这样的测试文件通常包含各种HTTP请求和响应的模拟数据,用于确保异步请求和流式处理功能的正确性。 总之,Java中的HTTP异步请求通过`HttpAsyncClients`和自定义的回调处理类,如`...
1. **HTTP客户端库**:Java提供了多种库来发送HTTP请求,如HttpURLConnection(Java内置)、Apache HttpClient或OkHttp。这些库允许我们构造POST请求,模拟用户登录过程,通常需要设置请求头(如User-Agent)、POST...
总的来说,Java模拟POST请求涉及到网络通信和HTTP协议的理解,通过Apache HttpClient库可以方便地实现这一功能。在处理API交互时,正确构建请求和解析响应是关键,这有助于确保数据的准确性和系统的稳定性。