微信开发测试号进行微信登录

1.测试账号获取

1.微信进行注册https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

2.内网穿透

这里我用的是utools

使用http://www.u.tools/工具,其中有内网穿透的功能,可以将服务提供到公网访问

3.填入回调地址

1.点击修改就可,填入信息为utools工具的外网链接

4.通过微信官方开发文档进行开发

1 第一步:用户同意授权,获取code

2 第二步:通过code换取网页授权access_token

3 第三步:刷新access_token(如果需要)

4 第四步:拉取用户信息(需scope为 snsapi_userinfo)

只需要引导关注公众号的用户点击https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect链接即可进行访问测试。

//此段代码为一个http工具类,传入rul可以直接访问,返回值为浏览器的响应数据
public class HttpUtils {public static final String DEFAULT_CHARSET = "utf-8";public static final Logger logger = LoggerFactory.getLogger(HttpUtils.class);public static String doGet(String baseUrl, Map<String, String> paramMap) {StringBuffer queryString = new StringBuffer();for (String param : paramMap.keySet()) {String value = paramMap.get(param);if (!StringUtils.isEmpty(value)) {try {value = URLEncoder.encode(value, DEFAULT_CHARSET);} catch (UnsupportedEncodingException e) {e.printStackTrace();}queryString.append(param).append("=").append(value).append("&");}}return doGet(baseUrl, queryString.toString());}/*** 向指定URL发送GET方法的请求** @param baseUrl 发送请求的URL* @param param   请求参数,请求参数应该是 name1=value1&name2=value2 的形式。* @return URL 所代表远程资源的响应结果*/public static String doGet(String baseUrl, String param) {String result = "";BufferedReader in = null;try {String urlNameString =baseUrl;if(!StringUtils.isEmpty(param)){urlNameString = baseUrl + "?" + param;}logger.info("http请求:" + urlNameString);URL realUrl = new URL(urlNameString);// 打开和URL之间的连接HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();// 设置通用的请求属性connection.setRequestProperty("Content-Type", "text/plain; charset=utf-8");connection.setRequestProperty("Charsert", DEFAULT_CHARSET);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.connect();if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {// 获取所有响应头字段Map<String, List<String>> map = connection.getHeaderFields();// 遍历所有的响应头字段for (String key : map.keySet()) {logger.info(key + "--->" + map.get(key));}// 定义 BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;while ((line = in.readLine()) != null) {result += line;}}} catch (Exception e) {logger.info("发送GET请求出现异常!" + e);e.printStackTrace();}// 使用finally块来关闭输入流finally {try {if (in != null) {in.close();}} catch (Exception e2) {e2.printStackTrace();}}return result;}public static String doGet(String baseUrl) {return doGet(baseUrl,"");}/*** 向指定 URL 发送POST方法的请求** @param url   发送请求的 URL* @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。* @return 所代表远程资源的响应结果*/public static String doPost(String url, String param) {PrintWriter out = null;BufferedReader in = null;String result = "";try {URL realUrl = new URL(url);// 打开和URL之间的连接URLConnection connection = realUrl.openConnection();// 设置通用的请求属性connection.setRequestProperty("Content-Type", "text/plain; charset=utf-8");connection.setRequestProperty("Charsert", "UTF-8");connection.setRequestProperty("accept", "*/*");connection.setRequestProperty("connection", "Keep-Alive");connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");// 发送POST请求必须设置如下两行connection.setDoOutput(true);connection.setDoInput(true);// 获取URLConnection对象对应的输出流out = new PrintWriter(connection.getOutputStream());// 发送请求参数out.print(param);// flush输出流的缓冲out.flush();// 定义BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;while ((line = in.readLine()) != null) {result += line;}} catch (Exception e) {logger.info("发送 POST 请求出现异常!" + e);e.printStackTrace();}//使用finally块来关闭输出流、输入流finally {try {if (out != null) {out.close();}if (in != null) {in.close();}} catch (IOException ex) {ex.printStackTrace();}}return result;}
}

in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return result;
}
}


通过微信开发测试号进行微信登录相关推荐

  1. php 微信开发 自动回复,关于微信自动回复的详细介绍

    最近发现了一个特别好玩的Python 微信库itchat,可以实现自动回复等多种功能,下面这篇文章主要给大家介绍了利用python微信库itchat实现微信自动回复功能的相关资料,需要的朋友可以参考学 ...

  2. 微信公众开放平台开发07---java servlet 实现微信开发第一步:微信服务器验证

    微信公众开放平台开发07---java servlet 实现微信开发第一步:微信服务器验证  技术qq交流群:JavaDream:251572072 ------------------------- ...

  3. php处理微信消息,微信开发之处理微信客户端发来的消息

    在上一篇微信开发的博文中微信开发(01)之如何成为开发者,我们开启了微信开发者模式,本篇博文我们简单的处理微信关注者发给我们公众号的消息. 在开启微信开发者模式时,我们配置了一个URL地址,当我们提交 ...

  4. php 微信开发 自动回复,laravel 微信开发-自动回复

    laravel 微信开发-自动回复 1.微信公众号的逻辑,用户关注了你的微信公众号后,假设用户发送了一条消息给你的公众号,实际上是先发送到腾讯的服务器上,腾讯把内容转成特定的xml格式,再转发到你指定 ...

  5. 【PHP+微信开发】之微信扫码登录

    目录 一.数据表 二.获取token 三.生成二维码 四.扫码,并接收回调 五.检测二维码是否扫描成功 微信扫码登录总体说明:先获取token和ticket,通过微信生成二维码接口生成二维码,把二维码 ...

  6. 微信开发学习二 -- 微信开发入门(简单demo)

    一.微信公众平台的基本原理 在开始做之前,先简单介绍了微信公众平台的基本原理. 微信服务器就相当于一个转发服务器,终端(手机.Pad等)发起请求至微信服务器,微信服务器然后将请求转发给我们的应用服务器 ...

  7. java做微信开发工具_Java微信公众平台开发(14) 微信web开发者工具使用

    为帮助开发者更方便.更安全地开发和调试基于微信的网页,微信推出了 web 开发者工具.它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方便地在 PC 或者 Mac 上进行开发和调 ...

  8. php+微信开发+解绑,微信开发之解绑设备通知的方法

    本篇文章一起来了解微信开发之解绑设备通知的方法 一开始进行解绑的时候,我一直用的强制解绑设备通知.微信在开发者文档中和接口权限中都没有说明这个接口有次数限制,直到最近两天,解绑一直失败才发现,原来这个 ...

  9. 微信开发 免费服务器,微信开发详解:[1]免费服务器

    微信公众平台有两种模式,一种是编辑模式,一种是开发模式,编辑模式就是制定一些关键字回复就可以了,开发模式的话就是我们要讲解的内容,首先要有一个服务器,用来运行我们写的php程序,然后注册微信公众账号并 ...

最新文章

  1. cmakelist 定义变量
  2. C++使用thread类多线程编程
  3. druid seata 配置_五分钟带你了解Seata分布式事务
  4. 2020年中国服装行业数据中台研究报告
  5. 【Java NIO】一文了解NIO
  6. 运行cmd状态下MySQL导入导出.sql文件
  7. [蓝桥杯2017决赛]平方十位数-枚举+set去重
  8. 混合多云架构_混合多云每个人都应避免的3个陷阱(第1部分)
  9. icml和nips等各类重要会议论文收集
  10. 使用Mockito对类成员变量进行Mock
  11. 【书单】推荐几本AI好书
  12. 玄元剑仙手游最新服务器,玄元剑仙最新
  13. Android 对Layout_weight属性完全解析以及使用ListView来实现表格
  14. identity 1 1 mysql_identity在mysql中怎么用啊以下代码的错误在哪里
  15. tomcat与mysql分离部署_apache+tomcat+mysql 实现动静分离
  16. 从RTS游戏看游戏开发-2
  17. 从阿里外包月薪5K到转岗正式员工月薪15K,这100多天的心酸只有自己知道...
  18. 王者荣耀服务器不稳定总是跳频,vivo iQOO Pro 5G手机打玩王者荣耀网络不稳定出现断流...
  19. Tableau画雷达图
  20. PR/AE基础入门操作

热门文章

  1. 微软office认证课程
  2. 域名被微信拦截怎么办?
  3. 改变linux字体的大小,如何更改字体并调整其大小?
  4. 微软数据分析服务 - Microsoft Clarity
  5. 原创首发:JXMaker扫描助手 扫描图片并将多次扫描图像导出为PDF文档,全免费,开源
  6. 百度图片批量下载助手
  7. iOS开发 DarkMode 暗黑模式
  8. 第九届蓝桥杯 省赛 C语言A组
  9. 基于RT-Thread系统的迷你时钟
  10. Android刷windows 10系统,无处不在!安卓手机能刷 Win10 系统了