package com.zl.test1;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
/**
* Http请求工具类
* @author snowfigure
* @since 2014-8-24 13:30:56
* @version v1.0.1
*/
public class HttpRequestUtil {
static boolean proxySet = false;
static String proxyHost = "127.0.0.1";
static int proxyPort = 8080;
/**
* 编码
* @param source
* @return
*/
public static String urlEncode(String source,String encode) {
String result = source;
try {
result = java.net.URLEncoder.encode(source,encode);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return "0";
}
return result;
}
public static String urlEncodeGBK(String source) {
String result = source;
try {
result = java.net.URLEncoder.encode(source,"GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return "0";
}
return result;
}
/**
* 发起http请求获取返回结果
* @param req_url 请求地址
* @return
*/
public static String httpRequest(String req_url) {
StringBuffer buffer = new StringBuffer();
try {
URL url = new URL(req_url);
HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection();
httpUrlConn.setDoOutput(false);
httpUrlConn.setDoInput(true);
httpUrlConn.setUseCaches(false);
httpUrlConn.setRequestMethod("GET");
httpUrlConn.connect();
// 将返回的输入流转换成字符串
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
httpUrlConn.disconnect();
} catch (Exception e) {
System.out.println(e.getStackTrace());
}
return buffer.toString();
}
/**
* 发送http请求取得返回的输入流
* @param requestUrl 请求地址
* @return InputStream
*/
public static InputStream httpRequestIO(String requestUrl) {
InputStream inputStream = null;
try {
URL url = new URL(requestUrl);
HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection();
httpUrlConn.setDoInput(true);
httpUrlConn.setRequestMethod("GET");
httpUrlConn.connect();
// 获得返回的输入流
inputStream = httpUrlConn.getInputStream();
} catch (Exception e) {
e.printStackTrace();
}
return inputStream;
}
/**
* 向指定URL发送GET方法的请求
*
* @param url
* 发送请求的URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return URL 所代表远程资源的响应结果
*/
public static String sendGet(String url, String param) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 建立实际的连接
connection.setDoOutput(true);
connection.connect();
// 获取所有响应头字段
// Map<String, List<String>> map = connection.getHeaderFields();
// // 遍历所有的响应头字段
// for (String key : map.keySet()) {
// System.out.println(key + "--->" + map.get(key));
// }
String jsonStr="{"
+ "\"bgyprogressuuid\": \"aabc891fc62f41728497da2904294e29\","
+ "\"bgysupplier\": \"供应商名称3\","
+ " \"bgyitemname\": \"项目公司名称3\","
+ "\"bgyitemcode\": \"0003\","
+ "\"bgyarea\": \"佛山区域3\","
+ "\"bgycontractname\": \"合同名称\","
+ "\"bgycontractno\": \"合同编号003\","
+ "\"bgypayamount\": 888.989,"
+ "\"bgysupplierbank\": \"供应商开户行:中国银行\","
+ "\"bgysupplieraccount\": \"供应商账号:88888989989\","
+ "\"bgysupplieraccountname\": \"收方户名:佛山碧桂园\","
+ "\"bgypaystatus\": false,"
+ "\"dr\": 0}";
OutputStream out = connection.getOutputStream();
// 写入请求的字符串
out.write((jsonStr.toString()).getBytes());
out.flush();
out.close();
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送GET请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result;
}
/**
* 向指定 URL 发送POST方法的请求
*
* @param url
* 发送请求的 URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @param isproxy
* 是否使用代理模式
* @return 所代表远程资源的响应结果
*/
public static String sendPost(String url, String param,boolean isproxy) {
OutputStreamWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
HttpURLConnection conn = null;
if(isproxy){//使用代理模式
@SuppressWarnings("static-access")
Proxy proxy = new Proxy(Proxy.Type.DIRECT.HTTP, new InetSocketAddress(proxyHost, proxyPort));
conn = (HttpURLConnection) realUrl.openConnection(proxy);
}else{
conn = (HttpURLConnection) realUrl.openConnection();
}
//
没有合适的资源?快使用搜索试试~ 我知道了~
使用HttpURLConnection或HttpClient方式传json值到spring中
共51个文件
jar:23个
java:9个
class:9个
需积分: 50 35 下载量 28 浏览量
2017-03-09
21:28:10
上传
评论 1
收藏 5.72MB ZIP 举报
温馨提示
使用HttpURLConnection或HttpClient方式传json值到spring中
资源推荐
资源详情
资源评论
收起资源包目录
client.zip (51个子文件)
client
.project 1KB
.settings
.jsdtscope 522B
org.eclipse.wst.common.component 477B
org.eclipse.jdt.core.prefs 364B
org.eclipse.wst.common.project.facet.core.xml 414B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
WebRoot
WEB-INF
lib
ezmorph-1.0.3.jar 76KB
jurt-3.0.1.jar 106KB
xstream-1.3.1.jar 421KB
httpcore-4.4.1.jar 315KB
cos.jar 55KB
commons-beanutils.jar 100KB
commons-lang.jar 53KB
httpclient-win-4.4.1.jar 17KB
commons-logging-1.2.jar 60KB
ridl-3.0.1.jar 248KB
jna-platform-4.1.0.jar 1.4MB
httpclient-cache-4.4.1.jar 155KB
json-lib-2.2.2-jdk15.jar 141KB
unoil-3.0.1.jar 1.3MB
httpclient-4.4.1.jar 704KB
commons-codec-1.9.jar 258KB
commons-httpclient-3.1.jar 298KB
morph-1.1.1.jar 286KB
jna-4.1.0.jar 893KB
fluent-hc-4.4.1.jar 30KB
juh-3.0.1.jar 54KB
commons-collections-3.2.1.jar 562KB
httpmime-4.4.1.jar 40KB
classes
com
zl
test1
HttpRequestUtil.class 7KB
Test.class 4KB
HttpUtils.class 5KB
test3
HttpClientGet.class 5KB
HttpClientSend.class 5KB
HTTPPost.class 2KB
test4
HttpClientUtil.class 5KB
test2
HttpUrlSend.class 5KB
HttpUrlGet.class 5KB
index.jsp 834B
META-INF
MANIFEST.MF 39B
src
com
zl
test1
Test.java 4KB
HttpUtils.java 5KB
HttpRequestUtil.java 10KB
test3
HttpClientSend.java 4KB
HTTPPost.java 1KB
HttpClientGet.java 5KB
test4
HttpClientUtil.java 4KB
test2
HttpUrlSend.java 8KB
HttpUrlGet.java 6KB
.classpath 1KB
共 51 条
- 1
资源评论
qq_31968809
- 粉丝: 229
- 资源: 62
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功