`
mingnjintian
  • 浏览: 69329 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

使用apache httpclient请求数据(get/post),同时支持代理

    博客分类:
  • java
阅读更多

get方式获取数据,贴上代码

/**
	 * GET的方式请求
	 * @createDate: Apr 2, 2011 5:58:03 PM
	 * @param http_url
	 * @param isProxy
	 * @return
	 */
	public String doGet(String http_url, boolean isProxy) {
		HttpMethod method = null;
		try {
			URI uri = new URI(http_url, true);
			HttpClient client = new HttpClient();
			HostConfiguration hcfg = new HostConfiguration();
			hcfg.setHost(uri);
			client.setHostConfiguration(hcfg);
			if (isProxy) 
				setProxy(client);
			// 参数验证
			client.getParams().setAuthenticationPreemptive(true);
			// GET请求方式
			method = new GetMethod(http_url);
			client.executeMethod(method);
			System.out.println("state:" + method.getStatusLine());
			return method.getResponseBodyAsString();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

 

 

POST方式获取数据,代码:

 

/**
	 * POST方式提交数据
	 * @createDate: Apr 2, 2011 5:58:03 PM
	 * @param http_url 
	 * @param isProxy
	 * @return
	 */
	public String doPost(String http_url, Map<String, String> paramaters,
			boolean isProxy) {
		PostMethod method = null;
		try {
			URI uri = new URI(http_url, true);
			HttpClient client = new HttpClient();
			HostConfiguration cf = new HostConfiguration();
			cf.setHost(uri);
			client.setHostConfiguration(cf);
			if (isProxy)
				setProxy(client);

			client.getParams().setAuthenticationPreemptive(true);
			method = new PostMethod(http_url);
			//添加参数
			if(paramaters!=null){
				Iterator<Entry<String, String>> its = paramaters.entrySet().iterator();
				while (its.hasNext()) {
					Entry<String, String> e = its.next();
					method.addParameter(e.getKey(), e.getValue());
				}
			}
			client.executeMethod(method);
			// 打印服务器返回的状态
			System.out.println(method.getStatusLine());
			// 输出返回的信息
			return method.getResponseBodyAsString();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			// 释放连接
			if(method!=null)
				method.releaseConnection();
		}
		return null;
	}

 

 

方法中使用到的代理,代码

 

 /**
  * 设置代理
  * @createDate: Apr 2, 2011 6:03:30 PM
  * @param client
  */
 private void setProxy(HttpClient client) {
  // 设置代理
  client.getHostConfiguration().setProxy(HTTP_HOST, HTTP_PORT);
  client.getState().setProxyCredentials(AuthScope.ANY,
    new UsernamePasswordCredentials(HTTP_USER, HTTP_PWD));
 }

 

 

附上测试代码

 

//get测试代码
String str_url = "http://mingnjintian-163-com.iteye.com/blog/985124";
new RequestManager().doGet(str_url,true);
		
//post测试代码
str_url = "http://mingnjintian-163-com.iteye.com/blog/985124";
new RequestManager().doPost(str_url, new HashMap<String, String>(),true);

 

分享到:
评论

相关推荐

    HttpClient jar包下载

    使用 HttpClient,调用http接口, 使用HttpClient JAVA发送http get/post请求,

    用HttpClient来模拟浏览器GET POST

    当然了,正如前面说到的,如果我们自己使用java.net.HttpURLConnection来搞定这些问题是很恐怖的事情,因此在开始之前我们先要介绍一下一个开放源码的项目,这个项目就是Apache开源组织中的httpclient,它隶属于...

    httpClient

    httpClient的get请求方式2 * @return * @throws Exception */ public static String doGet(String url, String charset) throws Exception { /* * 使用 GetMethod 来访问一个 URL 对应的网页,实现步骤: 1:...

    Android HttpClient GET或者POST请求基本使用方法

    在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务.这里只介绍如何使用HttpClient发起GET或者POST请求

    HttpClient Jar

    以下列出的是 HttpClient 提供的... 支持代理服务器等 下面将逐一介绍怎样使用这些功能。首先,我们必须安装好 HttpClient。 HttpClient 可以在http://jakarta.apache.org/commons/httpclient/downloads.html下载

    httpRequestGenerator:初始提交

    http请求生成器此代码片段允许使用 Apache httpClient 生成 HTTP GET/POST 请求。 初始提交

    HttpClient以及获取页面内容应用

    支持设置最大连接数,同时支持设置每个主机的最大连接数,发现并关闭过期的连接。 10. 自动处理Set-Cookie中的Cookie。 11. 插件式的自定义Cookie策略。 12. Request的输出流可以避免流中内容直接缓冲到socket服务器...

    httpclient-3.1.zip

    java apache commons HttpClient发送get和post请求. Commons-httpclient项目就是专门设计来简化HTTP客户端与服务器进行各种通讯编程.

    Android代码-一款基于Android 6.0 网络请求框架

    3 支持8种网络请求方式 GET,POST,PUT,DELETE,HEAD,OPTIONS,TRACE,PATCH 4 支持请求的优先级设置,优先级高的将先于优先级低的发送请求 5 支持取消请求,可以取消当前已发送的请求(可自定义取消请求的依据条件...

    java学习资料,org.apache.http jar包工具

    通过Apache的httpClient的get, post 请求下载,或者上传文件

    javaTest_getpost

    测试java的get和post请求,post请求使用了apache的httpclient开源项目,传递了两个参数。

    http:简化的、轻量级的 HTTP 客户端库,是 apache httpclient 的包装器

    发出 GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS 请求 支持所有常用的 MIME 类型,如 JSON、XML、ATOM 和 YAML 启用 Web 服务的 HTTP 和 HTTPS (SSL) 调用 它支持表单参数、文件上传和自定义正文实体 无需丑陋...

    Jsoup+httpclient 模拟登陆和抓取

    import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.cookie.CookiePolicy; import org.apache.commons.httpclient....

    org.apache.http.httpentity jar包-系列jar包

    import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.ssl.SSLSocketFactory; import ...

    Unirest是一个轻量级的HTTP请求库,涵盖Java、PHP、Python、NET等多种语言.rar

    Unirest 是一个轻量级的 HTTP 请求库,可发起 GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS 请求。支持 Node、Ruby、Java、PHP、Python、Objective-C、.NET 等多种语言。底层是基于httpclient,所以使用Unirest...

    httpclient core

    http get put post, apache jar core 4.4.1

    httpclient常用 jar包工具

    import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.ssl.SSLSocketFactory; import org....

    httpClient:httphttps请求客户端

    httpClient1.基于Apache HttpClient4.4,配置...对post和get方式进行了再次封装,更易使用4.支持xml和json报文使用方法参考test包下HttpClientTest.java如您觉得该项目对您有用,欢迎点击右上方的Star按钮,给予支持!

    Java实现批量下载并压缩文件.pptx.pptx

    Java中可以使用HttpURLConnection或者Apache HttpClient等工具类进行文件下载,通过设置请求头和请求参数,发送get或post请求获取文件。 使用Java压缩多个文件为zip包 Java中可以使用ZipOutputStream类将多个文件...

    Android网络请求之OkHttp

    OkHttp是一款优秀的HTTP框架,它支持get请求和post请求,支持基于Http的文件上传和下载,支持加载图片,支持下载文件透明的GZIP压缩,支持响应缓存避免重复的网络请求,支持使用连接池来降低响应延迟问题 Get请求 ...

Global site tag (gtag.js) - Google Analytics