java客户端post与get请求
来源:互联网 发布:2014年网络歌曲 编辑:程序博客网 时间:2024/05/22 23:08
使用httpclient工具包commons-httpclient-3.1.jar,依赖commons-logging-1.0.4.jar和commons-codec-1.3.jar
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Map;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpMethod;import org.apache.commons.httpclient.HttpStatus;import org.apache.commons.httpclient.URIException;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.methods.PostMethod;import org.apache.commons.httpclient.params.HttpMethodParams;import org.apache.commons.httpclient.util.URIUtil;/** * * * <p>Title:HttpTookitEnhance</p> * <p>Description: httpclient模拟http请求,解决返回内容乱码问题</p> * <p>Copyright: Copyright (c) 2010</p> * <p>Company: </p> * @author libin * @version 1.0.0 */public class HttpTookitEnhance{ /** * 执行一个HTTP GET请求,返回请求响应的HTML * * @param url 请求的URL地址 * @param queryString 请求的查询参数,可以为null * @param charset 字符集 * @param pretty 是否美化 * @return 返回请求响应的HTML */ public static String doGet ( String url, String queryString, String charset, boolean pretty ) { StringBuffer response = new StringBuffer(); HttpClient client = new HttpClient(); HttpMethod method = new GetMethod(url); try { if ( queryString != null && !queryString.equals("") ) //对get请求参数做了http请求默认编码,好像没有任何问题,汉字编码后,就成为%式样的字符串 method.setQueryString(URIUtil.encodeQuery(queryString)); client.executeMethod(method); if ( method.getStatusCode() == HttpStatus.SC_OK ) { BufferedReader reader = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream(), charset)); String line; while ( ( line = reader.readLine() ) != null ) { if ( pretty ) response.append(line).append(System.getProperty("line.separator")); else response.append(line); } reader.close(); } } catch ( URIException e ) { } catch ( IOException e ) { } finally { method.releaseConnection(); } return response.toString(); } /** * 执行一个HTTP POST请求,返回请求响应的HTML * * @param url 请求的URL地址 * @param params 请求的查询参数,可以为null * @param charset 字符集 * @param pretty 是否美化 * @return 返回请求响应的HTML */ public static String doPost ( String url, Map<String, String> params, String charset, boolean pretty ) { StringBuffer response = new StringBuffer(); HttpClient client = new HttpClient(); HttpMethod method = new PostMethod(url); //设置Http Post数据 if ( params != null ) { HttpMethodParams p = new HttpMethodParams(); for ( Map.Entry<String, String> entry : params.entrySet() ) { p.setParameter(entry.getKey(), entry.getValue()); } method.setParams(p); } try { client.executeMethod(method); if ( method.getStatusCode() == HttpStatus.SC_OK ) { BufferedReader reader = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream(), charset)); String line; while ( ( line = reader.readLine() ) != null ) { if ( pretty ) response.append(line).append(System.getProperty("line.separator")); else response.append(line); } reader.close(); } } catch ( IOException e ) { } finally { method.releaseConnection(); } return response.toString(); } public static void main ( String [] args ) { String y = doGet("http://video.sina.com.cn/life/tips.html", null, "GBK", true); System.out.println(y); }}
0 0
- java客户端post与get请求
- java关于post请求与get请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- 【网络】JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- 使用java模拟Get与Post请求
- java--get与post请求的区别
- Http POST与GET请求JAVA实现
- Java http get与post请求
- Java http get与post请求
- post与get请求
- java get post 请求
- java get,post 请求
- java POST GET 请求
- java post get 请求
- get请求与post请求
- 热修复 AndFix
- BigDecimal类型的对象加减处理
- 区块链侧链技术优势
- Java IO 5:字符流
- Session和Cookie
- java客户端post与get请求
- Android一行代码实现将Log写入文件(可配置是否输出Log,测试包可直接用于发布)
- V7 控件 CardView的基本使用
- 广义线性模型
- 工业4.0将是整个中国时代性的革命
- 动态规划-0/1背包问题
- Java IO 6:字符流进阶及BufferedWriter、BufferedReader
- 二分查找Binary Search
- LeetCode解题报告 112. Path Sum [easy]