`
Goro
  • 浏览: 174009 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HttpClient的简单例子。

    博客分类:
  • Java
阅读更多
package sh.pl;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

public class HTTPSample {

	private static HttpClient httpClient = new DefaultHttpClient();

	public static void main(String[] args) {

		// 设置代理
		// HttpHost proxy = new HttpHost("XXX.XXX.XXX.XXX", 8080);
		// httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,
		// proxy);

		String sn = "xxxxx"; // 你的sn

		Map<String, String> requestParams = new HashMap<String, String>();
		requestParams.put("sn", sn);

		httpGet("https://selfsolve.apple.com/agreementWarrantyDynamic.do",
				requestParams);
		httpClient.getConnectionManager().shutdown();
	}

	public static void httpGet(String url, Map<String, String> requestParams) {

		HttpGet httpGet = null;

		try {
			// 参数设置
			StringBuilder builder = new StringBuilder(url);
			builder.append("?");
			for (Map.Entry<String, String> entry : requestParams.entrySet()) {
				builder.append((String) entry.getKey());
				builder.append("=");
				builder.append((String) entry.getValue());
				builder.append("&");
			}

			String tmpUrl = builder.toString();
			tmpUrl = tmpUrl.substring(0, tmpUrl.length() - 1);

			httpGet = new HttpGet(tmpUrl);

			System.out.println("executing request " + httpGet.getURI());
			System.out.println("-------------------------------------");

			HttpResponse response = httpClient.execute(httpGet);

			// reponse header
			System.out.println(response.getStatusLine().getStatusCode());

			Header[] headers = response.getAllHeaders();
			for (Header header : headers) {
				System.out.println(header.getName() + ": " + header.getValue());
			}

			System.out.println();

			// 网页内容
			HttpEntity httpEntity = response.getEntity();
			System.out.println(EntityUtils.toString(httpEntity));

		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (httpGet != null) {
				httpGet.abort();
			}
		}
	}

	public static void httpPost(String url, Map<String, String> requestParams, String urlEncode) {

		HttpPost httpPost = null;

		try {
			// 参数设置
			List<NameValuePair> params = new ArrayList<NameValuePair>();
			for (Map.Entry<String, String> entry : requestParams.entrySet()) {
				params.add(new BasicNameValuePair((String) entry.getKey(),
						(String) entry.getValue()));
			}

			httpPost = new HttpPost(url);
			httpPost.setEntity(new UrlEncodedFormEntity(params, urlEncode));

			System.out.println("executing request " + httpPost.getURI());
			System.out.println("-------------------------------------");

			// reponse header
			HttpResponse response = httpClient.execute(httpPost);
			System.out.println(response.getStatusLine().getStatusCode());

			Header[] headers = response.getAllHeaders();
			for (Header header : headers) {
				System.out.println(header.getName() + ": " + header.getValue());
			}

			System.out.println();

			// 网页内容
			HttpEntity httpEntity = response.getEntity();
			System.out.println(EntityUtils.toString(httpEntity));

		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (httpPost != null) {
				httpPost.abort();
			}
		}
	}
}
分享到:
评论
1 楼 金元宝 2015-07-11  
 

相关推荐

    httpclient.post例子

    这个例子展示了HttpClient库进行POST请求的基本流程。实际应用中,你可能需要根据具体需求调整请求头、处理重定向、超时设置、错误处理等。了解这些知识点有助于编写更健壮、高效的网络请求代码。 通过`java_...

    httpClient例子

    下面是如何创建一个简单的GET请求的例子: ```java CloseableHttpClient httpclient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet("http://example.com"); try { HttpResponse response = ...

    HttpClient包及例子

    HttpClient是Apache基金会开发的一个Java库,它为Java开发者提供了一种简单且强大的API来执行HTTP请求,无论是GET、POST还是其他HTTP方法。这个库的主要目标是简化与HTTP服务器的交互,使得开发人员能够轻松地创建...

    HttpClient的小例子

    在这个例子中,我们简单地打印了状态行并消费了实体,实际应用中可能需要对响应内容进行进一步处理。 在配置信息方面,HttpClient提供了许多可定制的选项。例如,可以设置连接超时、重试策略、代理配置等。例如,...

    安卓httpClient例子

    下面我们将深入探讨Android中使用HttpClient的例子及其相关知识点。 1. **HttpClient的基本概念** HttpClient是一个基于Java语言的HTTP客户端编程工具包,它提供了丰富的API,可以方便地创建、发送和处理HTTP请求...

    httpclient小例子

    HttpClient是Apache基金会开发...这个小例子虽然简单,但它揭示了HttpClient的基本用法,足以让新手快速入门。通过深入学习和实践,你可以掌握HttpClient的更多高级特性和最佳实践,从而在处理网络请求时更加得心应手。

    android和httpclient结合的例子

    这个例子“android和httpclient结合”旨在帮助初学者理解如何在Android项目中集成和使用HttpClient进行网络请求。 首先,HttpClient是一个强大的、可扩展的HTTP客户端,支持多种HTTP协议版本,包括HTTP/1.1。它提供...

    httpclient的入门实例

    通过理解上述概念和步骤,你将能够开始使用HttpClient进行简单的HTTP请求,并逐渐掌握更复杂的应用场景。对于源码分析和工具使用,你可以参考HttpClient的官方文档和相关教程,进一步了解其实现细节和优化技巧。

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

    在Java中使用HttpClient发送GET请求相对简单。首先,需要创建一个`HttpClient`实例,然后使用`HttpGet`类构建一个GET请求,并设置请求URL。接下来,调用`execute()`方法来执行请求,最后解析返回的响应。 ##### ...

    HttpClient3.1 学习整理

    这个例子中,我们创建了一个`HttpClient`实例,然后用`GetMethod`对象指定要访问的URL。执行`executeMethod`方法发起请求,如果返回状态码为200(表示成功),则打印出响应体的内容。最后,调用`releaseConnection`...

    httpClient组合包.zip

    在POST请求中,使用HttpPost对象来指定请求URL,然后可以通过HttpEntityEnclosingRequestBase类的setEntity()方法添加请求实体,这个实体可以是简单的文本,也可以是通过httpmime库构建的MultipartEntity,用于上传...

    Java中Httpclient需要的jar包(httpclient.jar,httpcore.jar及commons-logging.jar)

    以下是一个简单的示例,展示如何使用HttpClient发送一个GET请求: ```java import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; ...

    httpClient4.1入门教程.pdf

    紧接着,文档提供了一个简单的例子来演示如何使用HttpClient进行基本的HTTP GET请求操作,该例子展示了如何用GET方法访问指定的URL并返回内容。接着,文档介绍了如何在HttpClient中传递参数,这部分内容会讲解通过...

    HttpClient介绍和使用文档

    以下是一个使用HttpClient简单读取网页内容的例子: ```java import java.io.IOException; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.GetMethod; public ...

    jsoup+httpclient j简单爬虫

    下面是一个使用 HttpClient 获取网页内容的例子: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; ...

    httpClient组件使用说明

    本篇文章将详细讲解HttpClient的使用方法,包括如何搭建环境、所需的jar包、基本应用以及实例演示,旨在帮助初级学员快速掌握HttpClient的基础操作。 一、环境搭建 在使用HttpClient之前,首先需要在项目中引入...

    HttpClient的简单使用,get、post、上传、下载

    一、HttpClient的简单使用 1. 添加依赖 在Java项目中使用HttpClient,首先需要添加对应的依赖。对于Maven项目,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.apache.httpcomponents &lt;artifactId&gt;...

    HttpClient抓取网页Demo

    在这个例子中,我们创建了一个`CloseableHttpClient`实例,然后使用`HttpGet`构造一个GET请求到指定URL。`execute`方法执行请求,返回一个`CloseableHttpResponse`对象,我们可以从中获取状态行、响应体等信息。 ...

    用HttpClient来模拟浏览器GET_POST

    下面是一个简单的例子,演示如何使用HttpClient来读取一个网页的内容: ```java package http.demo; import java.io.IOException; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient...

    httpclient.jar 文件下载

    以下是一个简单的使用HttpClient发送GET请求的例子: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet("http://example.com"); CloseableHttpResponse ...

Global site tag (gtag.js) - Google Analytics