使用HttpClient与外部接口通信
2016-07-29 10:21
399 查看
使用 HttpClient与外部接口通信工具类:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.Iterator;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
public class HttpUtil{
public static String httpPost(String urlPath,Map<String, Object> params){
PrintWriter out = null;
BufferedReader in = null;
StringBuffer result = new StringBuffer();
try {
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(urlPath);
Iterator<Map.Entry<String, Object>> it = params.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, Object> entry = it.next();
method.addParameter(entry.getKey(), entry.getValue().toString());
}
HttpMethodParams param = method.getParams();
param.setContentCharset("UTF-8");
client.executeMethod(method);
in = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream(), "UTF-8"));
String line;
while (null != (line = in.readLine())) {
result.append(line);
}
} catch (Exception e) {
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
return result.toString();
}
public static String httpGet(String urlPath){
StringBuffer result = new StringBuffer();
BufferedReader in = null;
try {
URL realUrl = new URL(urlPath);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 建立实际的连接
conn.connect();
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
conn.getInputStream(),"utf-8"));
String line;
while ((line = in.readLine()) != null) {
result.append(line);
}
} catch (Exception e) {
e.printStackTrace();
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result.toString();
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.Iterator;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
public class HttpUtil{
public static String httpPost(String urlPath,Map<String, Object> params){
PrintWriter out = null;
BufferedReader in = null;
StringBuffer result = new StringBuffer();
try {
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(urlPath);
Iterator<Map.Entry<String, Object>> it = params.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, Object> entry = it.next();
method.addParameter(entry.getKey(), entry.getValue().toString());
}
HttpMethodParams param = method.getParams();
param.setContentCharset("UTF-8");
client.executeMethod(method);
in = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream(), "UTF-8"));
String line;
while (null != (line = in.readLine())) {
result.append(line);
}
} catch (Exception e) {
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
return result.toString();
}
public static String httpGet(String urlPath){
StringBuffer result = new StringBuffer();
BufferedReader in = null;
try {
URL realUrl = new URL(urlPath);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 建立实际的连接
conn.connect();
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
conn.getInputStream(),"utf-8"));
String line;
while ((line = in.readLine()) != null) {
result.append(line);
}
} catch (Exception e) {
e.printStackTrace();
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result.toString();
}
}
相关文章推荐
- Android学习笔记47:使用HttpClient接口实现网络通信
- 使用HttpClient接口实现网络通信
- Android学习笔记47-使用HttpClient接口实现网络通信
- 服务器接口Android学习笔记47:使用HttpClient接口实现网络通信
- 使用HttpClient接口实现网络通信
- Android:使用HttpClient接口实现网络通信
- 使用HttpClient接口实现网络通信
- android端和Struts2服务器端通信,交互信息,参数采用JSON,使用了HttpClient与HttpPost类
- 使用httpClient进行接口测试
- JNI的替代者—使用JNA访问Java外部函数接口
- android端和Struts2服务器端通信,交互信息,参数采用JSON,使用了HttpClient与HttpPost类
- 使用httpClient向接口传递数据
- httpClient使用,1 发送post请求 2 发送get请求取得接口中的数据
- Android学习笔记---27_网络通信之通过GET和POST方式提交参数给web应用,以及使用httpClient,来给web项目以post方式发送参数
- 《转》使用httpclient实现http接口调用实例
- JNI的替代者—使用JNA访问Java外部函数接口
- VS2012配置使用ICE通信接口
- 使用httpclient实现http接口调用实例
- JNI的替代者—使用JNA访问Java外部功能接口
- JIRA的外部请求接口REST的基本使用