HttpClient,HttpGet
2016-03-24 16:39
375 查看
HttpClient使用HttpGet传数据
package com.ghjz.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URI; import java.net.URISyntaxException; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.apache.http.HeaderElement; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.ParseException; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.CoreConnectionPNames; import org.apache.http.util.EntityUtils; /** * 观翰家接口 * @author ZX * */ public class Ghjz { private static org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(Ghjz.class); private static final String URL = "http://www.ttnz.net/Track/cps.html?"; public static String httpGet(InvestInfoBean bean) throws ClientProtocolException, IOException, URISyntaxException { HttpClient httpclient = new DefaultHttpClient(); String result = ""; try { // 连接超时 httpclient.getParams().setParameter( CoreConnectionPNames. CONNECTION_TIMEOUT, 5000); // 读取超时 httpclient.getParams().setParameter( CoreConnectionPNames. SO_TIMEOUT, 5000); HttpGet hg = new HttpGet (URL+bean.toString()); //模拟浏览器 hg.addHeader( "User-Agent", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"); String charset = "UTF-8"; hg.setURI( new java.net.URI(URL+bean.toString())); HttpResponse response = httpclient.execute(hg); HttpEntity entity = response.getEntity(); if (entity != null) { charset = getContentCharSet(entity); // 使用EntityUtils的toString方法,传递编码,默认编码是ISO-8859-1 result = EntityUtils.toString(entity, charset); } } finally { httpclient.getConnectionManager().shutdown(); } log.info("result:--------------:"+result); return result; } /** * 默认编码utf -8 * Obtains character set of the entity, if known. * * @param entity must not be null * @return the character set, or null if not found * @throws ParseException if header elements cannot be parsed * @throws IllegalArgumentException if entity is null */ public static String getContentCharSet(final HttpEntity entity) throws ParseException { if (entity == null) { throw new IllegalArgumentException("HTTP entity may not be null"); } String charset = null; if (entity.getContentType() != null) { HeaderElement values[] = entity.getContentType().getElements(); if (values.length > 0) { NameValuePair param = values[0].getParameterByName("charset" ); if (param != null) { charset = param.getValue(); } } } if(StringUtils.isEmpty(charset)){ charset = "UTF-8"; } return charset; } }
相关文章推荐
- 网络状态检测
- 卷积神经网络全面解析
- HTTPS学习笔记
- [题目转自http://www.33iq.com/]趣味数学题1 王师傅亏了多少?
- 叶脊网络拓扑(leaf-spine)
- iOS 网络请求 NSURLSession
- 网络爬虫-pyspider环境搭建(standalone)
- 判断iOS应用是否开放HTTP权限的方法
- 网络访问使用说明
- tcpdump#0入门
- IOS 网络-深入浅出(一 )-> 三方SDWebImage
- apache https配置步骤
- CentOS6.6修改主机名和网络信息
- TCP与UDP的区别
- T-SQL XQuery (XML路径查询) (转)http://blog.csdn.net/Beirut/article/details/8150116
- HTTP接口测试工具-CDSpace
- 转发jsonmodel使用 AF Http报文头--------mark
- 基于volley的获取网络图片
- 关于Android的HTTP请求中文乱码问题(备忘)
- Tomcat Https单向认证