package com.lebo.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;
public class HttpUtil {
public static String readContentFromGet(String Url) throws IOException {
StringBuffer sb = new StringBuffer();
// 拼凑get请求的URL字串,使用URLEncoder.encode对特殊和不可见字符进行编码
URL getUrl = new URL(Url);
// 根据拼凑的URL,打开连接,URL.openConnection函数会根据URL的类型,
// 返回不同的URLConnection子类的对象,这里URL是一个http,因此实际返回的是HttpURLConnection
HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection();
// 进行连接,但是实际上get request要在下一句的connection.getInputStream()函数中才会真正发到
// 服务器
//connection.setRequestProperty("User-Agent","Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4");
connection.connect();
// 取得输入流,并使用Reader读取
if(connection.getResponseCode()==200){
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
String lines;
while ((lines = reader.readLine()) != null) {
sb.append(lines);
}
System.out.println("HttpUtil,返回数据:"+sb.toString());
reader.close();
// 断开连接
connection.disconnect();
}else{
sb.append(connection.getResponseCode());
}
return sb.toString();
}
/**
*
* @param posturl 访问地址
* @param params 参数格式 param1=参数1¶m2=参数2
* @return
* @throws IOException
*/
public static Map<String, Object> readContentFromPost(String posturl) throws IOException {
Map<String, Object> map = new HashMap<String, Object>();
StringBuffer sb = new StringBuffer();
// Post请求的url,与get不同的是不需要带参数
URL postUrl = new URL(posturl);
// 打开连接
HttpURLConnection connection = (HttpURLConnection) postUrl.openConnection();
// 设置是否向connection输出,因为这个是post请求,参数要放在
// http正文内,因此需要设为true
connection.setDoOutput(true);
connection.setDoInput(true);
// Set the post method. Default is GET
connection.setRequestMethod("POST");
// Post 请求不能使用缓存
connection.setUseCaches(false);
// URLConnection.setFollowRedirects是static函数,作用于所有的URLConnection对象。
// connection.setFollowRedirects(true);
// URLConnection.setInstanceFollowRedirects是成员函数,仅作用于当前函数
connection.setInstanceFollowRedirects(true);
//设置请求超时时间毫秒
connection.setConnectTimeout(30000);
// 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
// 意思是正文是urlencoded编码过的form参数,下面我们可以看到我们对正文内容使用URLEncoder.encode
// 进行编码
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
// 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
// 要注意的是connection.getOutputStream会隐含的进行connect。
connection.connect();
if(connection.getResponseCode()==200){
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
reader.close();
}
map.put("content", sb);
connection.disconnect();
return map;
}
/*public static String FlvcdPost(String posturl,String data) throws IOException {
posturl = "http://192.168.1.3:8081/lebo/rest/weixin/test.jsp";
StringBuffer sb = new StringBuffer();
try {
// 建立连接
URL url = new URL(posturl);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
// //设置连接属性
httpConn.setDoOutput(true);// 使用 URL 连接进行输出
httpConn.setDoInput(true);// 使用 URL 连接进行输入
httpConn.setUseCaches(false);// 忽略缓存
httpConn.setRequestMethod("POST");// 设置URL请求方法
String requestString = "客服端要以以流方式发送到服务端的数据...";
// 设置请求属性
// 获得数据字节数据,请求数据流的编码,必须和下面服务器端处理请求流的编码一致
byte[] requestStringBytes = requestString.getBytes("UTF-8");
httpConn.setRequestProperty("Content-length", "" + requestStringBytes.length);
httpConn.setRequestProperty("Content-Type", "application/octet-stream");
httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
httpConn.setRequestProperty("Charset", "UTF-8");
//
String name = URLEncoder.encode("黄武艺", "utf-8");
httpConn.setRequestProperty("data", name);
// 建立输出流,并写入数据
OutputStream outputStream = httpConn.getOutputStream();
outputStream.write(requestStringBytes);
outputStream.close();
// 获得响应状态
int responseCode = httpConn.getResponseCode();
if (HttpURLConnection.HTTP_OK == responseCode) {// 连接成功
// 当正确响应时处理数据
String readLine;
BufferedReader responseReader;
// 处理响应流,必须与服务器响应流输出的编码一致
responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8"));
while ((readLine = responseReader.readLine()) != null) {
sb.append(readLine).append("\n");
}
responseReader.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return sb.toString();
}*/
public static String FlvcdGet(String url)throws IOException{
StringBuffer json = new StringBuffer();
try {
URL oracle = new URL(url);
URLConnection conn = oracle.openConnection();
conn.setRequestProperty("User-Agent","Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4");
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
conn.setRequestProperty("Accept-Charset", "UTF-8");
conn.setConnectTimeout(3000);
conn.setReadTimeout(3000);
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
String inputLine = null;
while ( (inputLine = in.readLine()) != null) {
json.append(inputLine);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
throw e;
}
return json.toString();
}
//根据接口获取接口信息
public static String loadJSON (String url) throws IOException {
StringBuffer json = new StringBuffer();
BufferedReader in =
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
spring+mybatis接入微信支付支付宝支付(包含微信公众号支付和H5支付) (138个子文件)
HttpUtil.class 9KB
RSAUtil.class 9KB
WXPayUtil.class 9KB
RedisUtil.class 9KB
WebUtils.class 8KB
WechatRefundQuery$Response.class 7KB
WechatPayNotify.class 6KB
PayController.class 6KB
WechatRefund$Response.class 6KB
WechatTradeServiceImpl.class 5KB
Order.class 5KB
ArrayListBuilder.class 5KB
BaseController.class 4KB
WechatUnifiedOrder.class 4KB
Assert.class 4KB
AlipayTradeServiceImpl.class 4KB
StatusEnum.class 4KB
XmlUtil.class 4KB
SocketClient.class 4KB
WechatClient.class 4KB
Base64Utils.class 3KB
WechatUnifiedOrder$Response.class 3KB
HashMapBuilder.class 3KB
DaoSupport.class 3KB
WechatRefund.class 3KB
Tools.class 3KB
PageData.class 2KB
WxApiController.class 2KB
RSAUtils.class 2KB
WechatRefundQuery.class 2KB
StringUtil.class 2KB
ResultUtil.class 2KB
SerializeUtil.class 2KB
OpenIdClass.class 2KB
WechatConfig.class 2KB
DateUtil.class 2KB
AliPayConfig.class 2KB
PropertiesUtil.class 2KB
SignUtil.class 1KB
JsonDateSerializer.class 1KB
WechatTradeService.class 1KB
AlipayTradeService.class 1KB
UIDUtil.class 1KB
BaseBuilder.class 1KB
OrderService.class 1KB
HttpUtil$miTM.class 1KB
Const.class 1KB
WXPayUtil$SignType.class 1KB
JsonObjectMapper.class 1KB
HttpUtil$1.class 1KB
AccessToken.class 765B
WxTicket.class 759B
JsonDateValueProcessor.class 622B
PageResult.class 493B
DAO.class 472B
.classpath 1KB
org.eclipse.wst.common.component 732B
org.eclipse.wst.jsdt.ui.superType.container 49B
.gitignore 44B
wxpayDemo2.html 10KB
alipayDemo.html 6KB
test.html 633B
success.html 141B
alipay-sdk-1.0.0.jar 2.22MB
alipay-sdk-1.0.0.jar 2.22MB
HttpUtil.java 17KB
RSAUtil.java 13KB
RedisUtil.java 13KB
WXPayUtil.java 11KB
WechatTradeServiceImpl.java 11KB
PayController.java 11KB
RSAUtils.java 10KB
WechatRefundQuery.java 10KB
WechatRefund.java 9KB
WebUtils.java 9KB
WechatUnifiedOrder.java 8KB
WechatClient.java 8KB
WechatPayNotify.java 7KB
AlipayTradeServiceImpl.java 5KB
BaseController.java 4KB
Base64Utils.java 4KB
Assert.java 4KB
Order.java 4KB
SocketClient.java 4KB
DateUtil.java 4KB
SignUtil.java 3KB
AliPayConfig.java 3KB
PageData.java 3KB
StatusEnum.java 3KB
DaoSupport.java 3KB
Tools.java 3KB
WechatConfig.java 2KB
ResultUtil.java 2KB
WxApiController.java 2KB
ArrayListBuilder.java 2KB
XmlUtil.java 2KB
StringUtil.java 2KB
HashMapBuilder.java 2KB
AlipayTradeService.java 2KB
PropertiesUtil.java 1KB
共 138 条
- 1
- 2
资源评论
丘比特001
- 粉丝: 25
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java的实训在线OJ系统安卓端设计源码
- 基于Vue和TypeScript的房地产管理系统前端设计源码
- 基于微信小程序的通用订票系统设计源码
- 基于ThinkPHP的轻量级PHP开发框架设计源码
- 基于CSS的响应式鲜花网站全屏效果设计源码
- 基于JavaScript的访客预约系统设计源码
- 基于Vue和ECharts的工作租房数据可视化系统设计源码
- 1040g0cg310ravpiu6ibg5pg00tsipsln3ju2d0g 2
- 基于Python的SAR图像去噪CNN-NLM设计源码
- redhat6升级到redhat7,过程redhat6.x-> redhat6.10->rehat7.9 主版本最高版本
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功