微信公众号内网穿透本地调试微信授权

news2024/11/18 11:25:01

微信公众号内网穿透本地调试一直以来都比较麻烦 怕自己忘记, 记录一下

准备

  1. natapp获取一个域名隧道
  2. 下载nginx
  3. 配置微信公众号web网页授权域名

1.natapp获取一个域名隧道

在natapp官网(https://natapp.cn/)进行注册登录后,进入管理页面,可以获取一个免费的渠道域名,注意:这个域名每次重新打开时,域名都会发生变化!
在这里插入图片描述
点击你需要配置的隧道, 进入隧道编辑页面
在这里插入图片描述
这里可自行定义自己的本地地址,和项目的端口号。 完了之后进行保存

然后再将natapp的客户端下载到本地, 安装。
在这里插入图片描述
进入下载好的本地地址, 在地址内输入cmd, 打开当前地址命令行
在这里插入图片描述
进入cmd页面, 输入
在这里插入图片描述

natapp -authtoken=30d072ba4d8ecc56

即可开启隧道

至此,natapp的隧道配置已完成。 隧道开启
在这里插入图片描述

2.下载nginx

进入nginx官网(https://nginx.org/en/download.html)
在这里插入图片描述
根据需求下载相对于的版本, 我这里是windows 所以下载这个, 下载完了之后解压,进入nginx目录
配置nginx的配置文件nginx.conf 修改service name
在这里插入图片描述
如果你需要nginx访问到你的项目的端口的话,可以使用nginx反向代理转发一下就ok了
在这里插入图片描述

location / {
            root   html;
            index  index.html index.htm;
            proxy_pass   http://xxx.xxx.x.xxx:8080;
}

location /index/ {
            proxy_pass   http://xxx.xxx.x.xxx:8081;
}

为什么选择nginx呢 是因为微信配置里面要文件上传。

3.配置微信公众号web网页授权域名

在这里插入图片描述
这里html文件夹 可以放在打包好的(npm run build的dist), 这里可以参考下。
Index,getcode 都是我在网上拿到。可以参考。 主要是在上面 文件 放在nginx
在这里插入图片描述
index.html 文件代码

<!DOCTYPE html>
<html>
<head>
	<title>微信公众号</title>
	<meta charset="utf-8">
</head>
<body>
	<h1 style="width:100%;height:100px;font-size:50px;">一、获取公众号微信code</h1>
	<!-- 配置appid -->
	<div>
		<label style="display:inline-block;width:22%;font-size:40px;">appid:</label>
		<input style="width:75%;height:100px;line-height: 100px;border: 1px solid black;font-size:40px;" type="text" name="appid" id="appid">
	</div>

	<!-- 配置回调地址 -->
	<div style="margin-top: 20px;">
		<label style="display:inline-block;width:22%;font-size:40px;">回调地址:</label>
		<input style="width:75%;height:100px;line-height: 100px;border: 1px solid black;font-size:40px;" type="text" name="redirect_uri" id="redirect_uri">
	</div>
	
	<button id="get_code" style="width:100%;height:100px;font-size:50px;background-color:green;color:white;margin-top: 20px;">点击获取微信公众号code</button>
	<p style="font-size:50px;color:red;">注意:请点击上面的按钮获取code吗</p>
	<!-- 虚线边框 -->
	<div style="width:100%;height:0px;border-top:1px black dashed;margin-top: 30px;" />

</body>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
	//初始化
	$(document).ready(function(){ 
		var appid = ''; // 你的微信公众号appid
		var redirect_uri = 'http://xxx.cc/getcode.html'; // 你的natapp渠道域名
		//初始化获取微信code
	    $('#appid').val(appid);
	    $('#redirect_uri').val(redirect_uri);
	}); 
	
	//获取微信code
	$('#get_code').click(function(){
		var input_appid = $('#appid').val();
		var httl_url = window.encodeURIComponent($('#redirect_uri').val());
		var url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + input_appid + '&redirect_uri=' + httl_url + '&response_type=code&scope=snsapi_base&state=123#wechat_redirect';
		// 获取code
		window.location.href = url;
	});


</script>
</html>

getcode.html 文件代码

<!DOCTYPE html>
<html>
<head>
	<title>获取公众号微信code</title>
	<meta charset="utf-8">
	<style type="text/css">
		input{
			border: none;
			width: 100%;
			height: 100px;
			outline: medium;
			text-align: center;
			font-size:40px;
	  }
	</style>
</head>
<body>
<h1>下面的就是微信code</h3>
<input id="code" type="text" name="" value="" readonly="readonly"/>
<button style="width:100%;height:100px;font-size:40px;background-color:green;color:white;" onclick="Copy()">点击这个按钮复制上面的内容</button>
</body>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
	$(function(){
	    
		var reg = new RegExp("(^|&)code=([^&]*)(&|$)", "i");
		var r = window.location.search.substr(1).match(reg);
		var code = unescape(r[2]);
		console.log(code);
		$('#code').val(code);
	});

	//复制
	function Copy() {
        var content = document.getElementById('code');
        content.select();
        document.execCommand('Copy');
        alert('复制成功');
    }

</script>
</html>

到这里就配置完成了, 可以使用http://xxx.cc/index.html 在微信开发者工具内使用本地穿透的调试啦, 可在本地修改代码测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1352098.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

零售业物流这个防漏水技术,居然没有翻车!

随着科技的不断发展&#xff0c;水浸监控系统在各个领域得到了广泛应用。水浸监控不仅仅是为了保护建筑结构和设备&#xff0c;更是为了防范因水灾引起的生命安全和财产损失。 因此&#xff0c;为了有效预防和应对水浸事件&#xff0c;水浸监控系统应运而生&#xff0c;成为各行…

基于决策树、随机森林和层次聚类对帕尔默企鹅数据分析

作者&#xff1a;i阿极 作者简介&#xff1a;数据分析领域优质创作者、多项比赛获奖者&#xff1a;博主个人首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可以点赞&#x1f44d;收藏&#x1f4c1;评论&#x1f4d2;关注哦&#x…

c语言-整型在内存的存储

文章目录 前言一、整型数值在内存中的存储1.1 整型数值的表示形式1.2 二进制的表示形式1.3 整数在内存中存储 二、大端字节序存储和小端字节序存储2.1 大端字节序存储2.2 小端字节序存储2.3 练习 总结 前言 本篇文章叙述c语言中整型数据在内存中的存储方式。 一、整型数值在内…

设计模式:简单工厂模式、工厂方法模式、抽象工厂模式

简单工厂模式、工厂方法模式、抽象工厂模式 1. 为什么需要工厂模式&#xff1f;2. 简单工厂模式2.1. 定义2.2. 代码实现2.3. 优点2.4. 缺点2.5. 适用场景 3. 工厂方法模式3.1. 有了简单工厂模式为什么还需要有工厂方法模式&#xff1f;3.2. 定义3.3. 代码实现3.4. 主要优点3.5.…

在较高时间周期 这些现货黄金投资法值得一用

以日线图和周线图为代表的较高时间周期&#xff0c;一直是投资者很少利用的。之所以这么说&#xff0c;不是说投资者不会在日线图上分析&#xff0c;而是很少利用日线图交易。一来持仓过夜&#xff0c;会有相关的费用产生。二来很多人做现货黄金以短线为主。其实这种较高的时间…

Windows中磁盘未知没有初始化怎么办?

当我们尝试在Windows11/10/8/7上使用外部硬盘驱动器时&#xff0c;在小概率情况下可能会遇到磁盘未知没有初始化情况&#xff0c;此时如果您进入磁盘管理工具中查看&#xff0c;将会发现您的外部硬盘驱动器显示为未知、未初始化、没有磁盘空间&#xff0c;或者在某些情况下它还…

阿里云服务器8080端口安全组开通图文教程

阿里云服务器8080端口开放在安全组中放行&#xff0c;Tomcat默认使用8080端口&#xff0c;8080端口也用于www代理服务&#xff0c;阿腾云atengyun.com以8080端口为例来详细说下阿里云服务器8080端口开启教程教程&#xff1a; 阿里云服务器8080端口开启教程 阿里云服务器8080端…

Mac 安装 Adobe AE/PS 软件报错 “Failed with error code 146“

文章目录 1. 安装 AE 软件报错2. 网上的方法2.1 删除 caps 文件夹2.2 删除 Adobe Sync 文件夹 3. 我的解决方法 1. 安装 AE 软件报错 我在尝试安装 Adobe AE 软件的时候&#xff0c;报错 “Failed with error code 146” 2. 网上的方法 2.1 删除 caps 文件夹 在 finder 的…

众和策略股市行情分析:股票分红是按持股比例来分的吗?

股票分红立足于同股同利的准则&#xff0c;按股东的持股比例来进行股利的派发分红。持股多的股东按比例所得的分红就多&#xff0c;持股少的股东按比例所得的分红就少。 另外&#xff0c;分红详细是指的股票发行公司分配股利的行为。股利包含股息和盈利&#xff0c;股息是指的…

【Web】CTFSHOW元旦水友赛部分wp

目录 ①easy_include ②easy_web ③easy_login web一共5题&#xff0c;我出了3题&#xff0c;巧的是好像师傅们也只出了3题&#xff0c;跨年拿旗还是很快乐的&#xff0c;下面直接贴出自己的wp. ①easy_include pearcmd不解释 这里主要是 &#xff0c;file://协议支持以fi…

Java中的序列化方法探索

.为什么要序列化 对象不序列化&#xff0c;能直接存储吗&#xff1f; 在 Java 中&#xff0c;序列化是将对象的状态信息转换为可以存储或传输的形式&#xff08;例如&#xff0c;转换为字节流&#xff09;的过程。在对象数据需要在网络上传输或需要在磁盘上持久化存储时&#…

Spring Boot学习随笔- 集成MyBatis-Plus(二)条件查询QueryWrapper、聚合函数的使用、Lambda条件查询

学习视频&#xff1a;【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备! 查询方法详解 普通查询 // 根据主键id去查询单个结果的。 Test public void selectById() {User user userMapper.selectById(1739970502337392641L);System.out.print…

opencv期末练习题(3)附带解析

创建黑色画板&#xff0c;并支持两种画图功能 import mathimport cv2 import numpy as np """ 1. 创建一个黑色画板 2. 输入q退出 3. 输入m切换画图模式两种模式&#xff0c;画矩形和画圆形。用户按住鼠标左键到一个位置然后释放就可以画出对应的图像 "&qu…

Eureka学习思维导图

一、Eureka Server原理解析 参考&#xff1a;https://www.jianshu.com/p/eb690e6ab11d 二、Eureka Client源码解析 参考&#xff1a;https://www.jianshu.com/p/6e8850387da6

Threejs项目实战之四:实现地图雷达效果

目录 最终效果代码实现创建项目DigitalMapView.vue的核心代码 最终效果 最近事情比较多&#xff0c;今晚难得有空&#xff0c;就抽空完成了一个使用Threejs实现地图雷达扫描效果的程序&#xff0c;下面说下代码实现的原理及核心代码&#xff0c;老规矩&#xff0c;先看下效果图…

专业服务新篇章:ToB行业运营达人的能力与策略

又逢年底&#xff0c;这两天冷空气南袭&#xff0c;深圳的天气也转为湿冷&#xff0c;又到了年终总结复盘的时候了&#xff0c;其实这样的天气挺适合做深度的思考&#xff0c;清冷的空气&#xff0c;可以让人保持清醒。 月初市场同事希望我写点东西&#xff0c;题目内容自拟&a…

7-验证码识别

文章目录 验证码识别1、验证码的用途和分类验证码的作用验证身份验证行为 验证码的类型静态验证码&#xff1a;图片验证码问答式验证码问答式验证码行为式验证码&#xff1a;点击行为式验证码&#xff1a;拖动间接式验证码&#xff1a;短信、邮件、语音电话无感验证码 2、验证码…

2023年12月青少年软件编程Python等级考试(三级)真题试卷

2023年12月青少年软件编程Python等级考试&#xff08;三级&#xff09;真题试卷 题目总数&#xff1a;38 总分数&#xff1a;100 选择题 第 1 题 单选题 一个非零的二进制正整数&#xff0c;在其末尾添加两个“0”&#xff0c;则该新数将是原数的&#xff1f;&#x…

虹科方案丨从困境到突破:TigoLeap方案引领数据采集与优化变革

来源&#xff1a;虹科工业智能互联 虹科方案丨从困境到突破&#xff1a;TigoLeap方案引领数据采集与优化变革 原文链接&#xff1a;https://mp.weixin.qq.com/s/H3pd5G8coBvyTwASNS_CFA 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 导读 在数字化工厂和智能制造时…

mcu与上位机通讯数据传输测速

问题 如何测量mcu与上位机通讯数据传输速度&#xff1f;&#xff08;串口、USB&#xff09; 解决 可以借助Bus Hound 将显示时间戳勾上。 发送一段固定长度的数据&#xff0c;然后除起始和结束的时间差 最后计算即可。