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

httpclient 的相关应用

    博客分类:
  • Java
 
阅读更多

 

1这个主要是 httpclient4.0.3 的一些常用操作

 

package com.woyo.abcp.mq.common;

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

import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
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.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

public abstract class HttpClientHelper {

	public static String httpGet(String url) {

		// 消除没必要的日志
		System.setProperty("org.apache.commons.logging.Log",
				"org.apache.commons.logging.impl.SimpleLog");
		System.setProperty("org.apache.commons.logging.simplelog.showdatetime",
				"true");
		System
				.setProperty(
						"org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient",
						"stdout");

		// 构造HttpClient的实例
		HttpClient httpClient = new DefaultHttpClient();
		// httpClient.setTimeout(5000);
		// 创建GET方法的实例
		HttpGet getMethod = new HttpGet(url);
		// 使用系统提供的默认的恢复策略
		ResponseHandler<String> responseHandler = new BasicResponseHandler();
		try {
			// 执行getMethod
			return httpClient.execute(getMethod, responseHandler);
		} catch (IOException e) {
			// 发生网络异常
			e.printStackTrace();
		} finally {
			// 释放连接
			httpClient.getConnectionManager().shutdown();
		}
		return null;
	}

	public static String httpGet(String url, String charset) {

		// 消除没必要的日志
		System.setProperty("org.apache.commons.logging.Log",
				"org.apache.commons.logging.impl.SimpleLog");
		System.setProperty("org.apache.commons.logging.simplelog.showdatetime",
				"true");
		System
				.setProperty(
						"org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient",
						"stdout");

		// 构造HttpClient的实例
		HttpClient httpClient = new DefaultHttpClient();
		// httpClient.setTimeout(5000);
		// 创建GET方法的实例
		HttpGet getMethod = new HttpGet(url);
		// 使用系统提供的默认的恢复策略
		ResponseHandler<String> responseHandler = new BasicResponseHandler();
		try {
			return httpClient.execute(getMethod, responseHandler);
		} catch (IOException e) {
			// 发生网络异常
			e.printStackTrace();
		} finally {
			// 释放连接
			httpClient.getConnectionManager().shutdown();
		}
		return null;
	}

	public static String httpPost(String url, Map<String, String> params) {

		// 消除没必要的日志
		System.setProperty("org.apache.commons.logging.Log",
				"org.apache.commons.logging.impl.SimpleLog");
		System.setProperty("org.apache.commons.logging.simplelog.showdatetime",
				"true");
		System
				.setProperty(
						"org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient",
						"stdout");

		// 构造HttpClient的实例
		HttpClient httpClient = new DefaultHttpClient();
		// 创建Post方法的实例
		HttpPost postMethod = new HttpPost(url);
		// 将参数的值放入postMethod中
		if (params != null) {
			List<NameValuePair> values = new ArrayList<NameValuePair>();
			for (Map.Entry<String, ?> entity : params.entrySet()) {
				BasicNameValuePair pare = new BasicNameValuePair(entity
						.getKey(), entity.getValue().toString());
				values.add(pare);

			}

			UrlEncodedFormEntity entity;
			try {
				entity = new UrlEncodedFormEntity(values, "UTF-8");
				postMethod.setEntity(entity);
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				System.out.println("httpclient  postmethod  参数赋值错误");
				e.printStackTrace();
			}

		}
		try {
			// 执行postMethod
			ResponseHandler<String> responseHandler = new BasicResponseHandler();
			return httpClient.execute(postMethod, responseHandler);
		} catch (IOException e) {
			// 发生网络异常
			e.printStackTrace();
		} finally {
			// 释放连接
			httpClient.getConnectionManager().shutdown();
		}
		return null;
	}

	/*
	 * public static void main(String[] args) throws Exception {
	 * 
	 * String url="http://cmt.wy/sapi/service_comments.php"; Map<String,String>
	 * params=new HashMap<String,String>(); params.put("method",
	 * "updateCommentsStatusForbid"); params.put("data",
	 * "{\"id\":\"123456\",\"target_id\":\"123456\",\"target_owner_id\":\"123456\",\"target_type\":\"12345\",\"channel_id\":\"123456\",\"channel_type\":\"123456\"}"
	 * ); String rs=httpPost(url,params); System.out.println(rs);
	 * 
	 * 
	 * // String jsonStr=HttpClientHelper.httpPost(url, params);
	 * 
	 * // System.out.println(jsonStr);
	 * 
	 * // Map <String,String> param=new HashMap<String,String>(); //
	 * param.put("user_id", "547064"); // param.put("album_id",
	 * "00706300000082"); // param.put("option", "3"); // param.put("reason",
	 * "0"); // param.put("checker_id", "988387"); //
	 * param.put("time","1295440915" ); // //
	 * 
	 * // String url = "http://photo.wy/sapi/check_album.php"; //
	 * HttpClientHelper
	 * .httpGet(url);//("http://photo.wy/sapi/check_album.php",param);
	 * Map<String, String> params = new HashMap<String, String>(); String url =
	 * "http://blog.wy/sapi/service_blog.php"; params.put("method",
	 * "admin_blog"); params.put("option", "1");// 通过 // params.put("user_id",
	 * "546064"); // params.put("blog_id", "007064000004170");
	 * 
	 * params.put("user_id", "636620"); params.put("blog_id", "00700630000399");
	 * 
	 * params.put("reason", "0");
	 * System.out.println(HttpClientHelper.httpPost(url, params));
	 * 
	 * }
	 */
}

 

分享到:
评论

相关推荐

    C#HTTPclient 实例应用

    在本文中,我们将深入探讨`HttpClient`的实例应用,以及如何使用它来实现各种HTTP操作。 ### 1. `HttpClient`的基本用法 创建`HttpClient`实例通常是通过静态`HttpClientFactory`方法或直接实例化`HttpClient`完成...

    HTTPClient组件的应用

    HttpClient组件允许应用程序直接通过HTTP协议访问Web服务器上的资源,这对于RIA(Rich Internet Applications)和Web服务客户端的开发尤其有用。 HttpClient组件的主要特点和功能包括: 1. 实现了HTTP 1.0和1.1的...

    httpclient相关jar包

    本知识点将详细讲解与HTTPClient相关的三个关键组件:`commons-codec-1.3`、`commons-httpclient-3.0.1`和`commons-logging-1.1.1`。 1. **`commons-codec-1.3`**: 这个库是Apache Commons项目的一部分,提供了一...

    commons-httpclient相关jar包

    2. **commons-httpclient-3.0.1.jar**: 这就是Apache Commons HttpClient的核心库。这个版本3.0.1是该库的一个稳定版本,它包含了处理HTTP请求和响应的类和方法。HttpClient提供了异步和同步两种模式来发送GET、POST...

    apache-httpclient应用所有jar

    1. **异步和同步API**: HttpClient 提供了同步和异步两种API,以适应不同的应用场景。同步API适合于简单且线性的工作流,而异步API则适用于处理大量并发请求,提高了系统性能。 2. **全面的HTTP协议支持**: ...

    org.apache.commons.httpclient相关架包

    标题中的"org.apache.commons.httpclient相关架包"指的是这个库的一系列组件,主要包含在`httpclient.jar`文件中。这个JAR文件包含了HttpClient库的所有必需类和资源,可以被导入到Java项目中以实现HTTP通信功能。 ...

    HttpClient之Https应用实例

    HttpClient之Https应用实例~ 包含: HttpClient 使用代理访问Https HttpClient 信任所有主机-对于任何证书都不做检查 HttpClient 允许所有证书的校验(包括过期证书)

    httpclient相关的jar包

    HTTP 协议可能是现在 Internet 上...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.2 (GA)

    如何在WPF应用程序中通过HttpClient调用Web API

    在WPF(Windows Presentation Foundation)应用程序中,使用HttpClient调用Web API是一项常见的任务,尤其是在进行数据交互时。本文将深入探讨如何在WPF应用中利用HttpClient进行异步操作,以避免阻塞主线程,提高...

    HTTPClient相关jar包

    5. "c"可能是文件名的一部分被截断了,完整的文件名可能是其他依赖或相关文件,但这里没有提供完整信息,所以无法详细说明。 在实际使用HTTPClient时,开发者通常会通过以下步骤操作: 1. 创建HttpClient实例,这...

    ApacheCommons-HTTPClient组件的应用.doc

    Apache Commons-HTTPClient 是一个强大的Java库,专为简化HTTP客户端编程而设计。该组件主要用于在Java应用程序...通过理解并熟练运用HttpClient,开发者可以更高效地编写网络通信代码,提高应用程序的功能性和可靠性。

    org.apache.commons.httpclient相关资源包

    在标题"org.apache.commons.httpclient相关资源包"中,我们可以看出这是关于使用Apache HttpClient进行HTTP通信的知识点。Apache HttpClient库是Apache软件基金会的一个项目,它提供了对HTTP协议的全面支持,包括GET...

    httpclient-4.5.3官方API中文文档_最新译版_2886K

    本文将基于4.5.3版本的HttpClient官方API中文文档,深入探讨其核心概念、使用方法及常见应用场景。 一、HttpClient简介 HttpClient是一款高效的HTTP客户端库,它支持多种HTTP标准,包括HTTP/1.1、HTTP/2以及...

    httpclient.jar包下载

    《深入解析httpclient.jar及其与code.jar的关联》 在Java开发中,HTTP通信是不可或缺的一部分,而Apache HttpClient库正是Java...理解和熟练掌握HttpClient库,将有助于提升Java应用在网络通信方面的效率和稳定性。

    httpclient httpclient.jar

    在本文中,我们将深入探讨HttpClient的核心概念、使用方法以及如何通过`httpclient.jar`进行实战应用。 首先,HttpClient的主要组件包括: 1. **HttpClient实例**:这是整个HTTP通信的核心,负责管理连接、请求和...

    httpclient相关的JAR包4.1.2

    标题中的“httpclient相关的JAR包4.1.2”指的是Apache HttpClient库的4.1.2版本。HttpClient是一个在Java环境中实现HTTP协议的开源库,它提供了丰富的API用于执行HTTP请求并处理响应。这个库广泛应用于需要通过HTTP...

    基于httpclient的文件可配置的心跳检测应用

    【标题】"基于httpclient的文件可配置的心跳检测应用"是关于利用Apache HttpClient库进行网络连接健康检查和文件变化监控的技术实现。该应用适用于分布式系统中,确保服务间的通信可靠性,同时也关注本地或远程文件...

Global site tag (gtag.js) - Google Analytics