package com.oujiong.wechat.utils;
import com.google.gson.Gson;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.util.HashMap;
import java.util.Map;
/**
* 封装http get post
*/
public class HttpUtils {
private static final Gson gson = new Gson();
/**
* get方法
* @param url
* @return
*/
public static Map<String,Object> doGet(String url){
Map<String,Object> map = new HashMap<>();
CloseableHttpClient httpClient = HttpClients.createDefault();
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(5000) //连接超时
.setConnectionRequestTimeout(5000)//请求超时
.setSocketTimeout(5000)
.setRedirectsEnabled(true) //允许自动重定向
.build();
HttpGet httpGet = new HttpGet(url);
httpGet.setConfig(requestConfig);
try{
HttpResponse httpResponse = httpClient.execute(httpGet);
if(httpResponse.getStatusLine().getStatusCode() == 200){
String jsonResult = EntityUtils.toString( httpResponse.getEntity());
map = gson.fromJson(jsonResult,map.getClass());
}
}catch (Exception e){
e.printStackTrace();
}finally {
try {
httpClient.close();
}catch (Exception e){
e.printStackTrace();
}
}
return map;
}
/**
* 封装post
* @return
*/
public static String doPost(String url, String data,int timeout){
CloseableHttpClient httpClient = HttpClients.createDefault();
//超时设置
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(timeout) //连接超时
.setConnectionRequestTimeout(timeout)//请求超时
.setSocketTimeout(timeout)
.setRedirectsEnabled(true) //允许自动重定向
.build();
HttpPost httpPost = new HttpPost(url);
httpPost.setConfig(requestConfig);
httpPost.addHeader("Content-Type","text/html; chartset=UTF-8");
if(data != null && data instanceof String){ //使用字符串传参
StringEntity stringEntity = new StringEntity(data,"UTF-8");
httpPost.setEntity(stringEntity);
}
try{
CloseableHttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
if(httpResponse.getStatusLine().getStatusCode() == 200){
String result = EntityUtils.toString(httpEntity);
return result;
}
}catch (Exception e){
e.printStackTrace();
}finally {
try{
httpClient.close();
}catch (Exception e){
e.printStackTrace();
}
}
return null;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Springboot实现微信扫码授权登陆并获取用户基本信息源码+项目说明.zip 整个扫码登录功能根据 微信官方扫描登录API 实现 网站应用微信登录开发指南 针对微信扫码登录功能 下面都有博客详细的说明 1、扫码登录流程讲解、获取授权登陆二维码 2、本地调试工具ngrok、微信回调ngrok域名 3、授权码code获取用户基本信息 技术架构 项目总体技术选型 SpringBoot2.1.5 + Maven3.5.4 + Mybatis + lombok(插件) + ngrok 为了能够实现本地调试,这里用了ngrok穿透技术,它的作用就是: 微信回调商户接口的时候,通过ngrok工具就可以回调到本地,方便本地调试。 【特别强调】 1、csdn上资源保证是完整最新,会不定期更新优化; 2、请用自己的账号在csdn官网下载,若通过第三方代下,博主不对您下载的资源作任何保证,且不提供任何形式的技术支持和答疑!!!
资源推荐
资源详情
资源评论
收起资源包目录
基于Springboot实现微信扫码授权登陆并获取用户基本信息源码+项目说明.zip (12个子文件)
项目说明.md 929B
pom.xml 3KB
src
main
resources
application.properties 1KB
java
com
oujiong
wechat
controller
WechatController.java 2KB
utils
HttpUtils.java 3KB
service
UserService.java 185B
impl
UserServiceImpl.java 2KB
WechatApplication.java 394B
domain
JsonData.java 2KB
User.java 396B
config
WeChatConfig.java 1KB
.gitignore 407B
共 12 条
- 1
资源评论
- BetterChild2023-01-10资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。
onnx
- 粉丝: 9747
- 资源: 5601
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- formatted-task010-mctaco-answer-generation-event-ordering.json
- springboot农用车4S店管理系统答辩PPT
- Spring 框架之WebTestClient.pdf
- formatted-task009-mctaco-question-generation-event-ordering.json
- formatted-task008-mctaco-wrong-answer-generation-transient-stationary.json
- formatted-task007-mctaco-answer-generation-transient-stationary
- formatted-task006-mctaco-question-generation-transient-stationary
- Natural-Instructions mctaco-wrong-answer-generation-event-duration 指令微调数据
- 中国汽车金融报告 汽车金融:市场分析与发展趋势
- mmexport1732758164810.mp4
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功