JAVA发送http请求
2015-06-09 20:51
239 查看
package com.navinfo.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
public class HttpRquester {
/**
* 发送HTTP请求
*
* @param urlString
* @return 响映对象
* @throws IOException
*/
public String send(String urlString, String method,
Map<String, String> parameters, Map<String, String> propertys)
throws IOException {
HttpURLConnection urlConnection = null;
if (method.equalsIgnoreCase("GET") && parameters != null) {
StringBuffer param = new StringBuffer();
int i = 0;
for (String key : parameters.keySet()) {
if (i == 0)
param.append("?");
else
param.append("&");
param.append(key).append("=").append(parameters.get(key));
i++;
}
urlString += param;
}
URL url = new URL(urlString);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod(method);
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.setUseCaches(false);
urlConnection.setConnectTimeout(30000);
urlConnection.setReadTimeout(30000);
if (propertys != null)
for (String key : propertys.keySet()) {
urlConnection.addRequestProperty(key, propertys.get(key));
}
if (method.equalsIgnoreCase("POST") && parameters != null) {
StringBuffer param = new StringBuffer();
for (String key : parameters.keySet()) {
param.append("&");
param.append(key)
.append("=")
.append(new String(parameters.get(key).getBytes("GBK")));
}
urlConnection.getOutputStream().write(
param.toString().getBytes("GBK"));
urlConnection.getOutputStream().flush();
urlConnection.getOutputStream().close();
}
return this.makeContent(urlString, urlConnection);
}
/**
* 得到响应对象
*
* @param urlConnection
* @return 响应对象
* @throws IOException
*/
private String makeContent(String urlString, HttpURLConnection urlConnection)
throws IOException {
try {
InputStream in = urlConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(in));
StringBuffer temp = new StringBuffer();
String line = null;
while ((line = bufferedReader.readLine()) != null) {
temp.append(line).append("\r\n");
}
bufferedReader.close();
return temp.toString();
} catch (IOException e) {
throw e;
} finally {
if (urlConnection != null)
urlConnection.disconnect();
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
public class HttpRquester {
/**
* 发送HTTP请求
*
* @param urlString
* @return 响映对象
* @throws IOException
*/
public String send(String urlString, String method,
Map<String, String> parameters, Map<String, String> propertys)
throws IOException {
HttpURLConnection urlConnection = null;
if (method.equalsIgnoreCase("GET") && parameters != null) {
StringBuffer param = new StringBuffer();
int i = 0;
for (String key : parameters.keySet()) {
if (i == 0)
param.append("?");
else
param.append("&");
param.append(key).append("=").append(parameters.get(key));
i++;
}
urlString += param;
}
URL url = new URL(urlString);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod(method);
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.setUseCaches(false);
urlConnection.setConnectTimeout(30000);
urlConnection.setReadTimeout(30000);
if (propertys != null)
for (String key : propertys.keySet()) {
urlConnection.addRequestProperty(key, propertys.get(key));
}
if (method.equalsIgnoreCase("POST") && parameters != null) {
StringBuffer param = new StringBuffer();
for (String key : parameters.keySet()) {
param.append("&");
param.append(key)
.append("=")
.append(new String(parameters.get(key).getBytes("GBK")));
}
urlConnection.getOutputStream().write(
param.toString().getBytes("GBK"));
urlConnection.getOutputStream().flush();
urlConnection.getOutputStream().close();
}
return this.makeContent(urlString, urlConnection);
}
/**
* 得到响应对象
*
* @param urlConnection
* @return 响应对象
* @throws IOException
*/
private String makeContent(String urlString, HttpURLConnection urlConnection)
throws IOException {
try {
InputStream in = urlConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(in));
StringBuffer temp = new StringBuffer();
String line = null;
while ((line = bufferedReader.readLine()) != null) {
temp.append(line).append("\r\n");
}
bufferedReader.close();
return temp.toString();
} catch (IOException e) {
throw e;
} finally {
if (urlConnection != null)
urlConnection.disconnect();
}
}
}
相关文章推荐
- HttpServletRequest对象
- HttpClient几种实现方式
- TCP 滑动窗口
- 在线判题 (模拟)http://202.196.1.132/problem.php?id=1164
- HDU - 4734 F(x) (2013成都网络游戏,数字DP)
- 网络聚合CIDR配置OSPF、RIP路由重分发配置实例
- TCP通信客户端简单示例
- TCP网络通信服务器端简单示例
- HttpURLConnection访问网络
- 使用Unversial-image-loader来异步加载网络图片和本地图片(二)完结篇
- 菜鸟学习网络协议软件Quagga,修改ospfd vty端口和编译安装
- TCP发送接口(如send(),write()等)的返回值与成功发送到接收端的数据量无直接关系
- [Deep Learning]学习记录1-Python实现神经网络BP算法
- 使用Unversial-image-loader来异步加载网络图片和本地图片(一)
- ListView的常见优化:获取网络图片异步加载,分批加载,分页显示,图片缓存等优化方式
- 安卓 HttpClient
- ip大小端
- ping网络诊断常见故障
- Windows Server2012域用户映射网络驱动器
- android 的android httpClient详解