1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 微信小程序请求webapi调试抓包工具Fiddler以及wx.request请求webapi时web服务器端解析不到code问题

微信小程序请求webapi调试抓包工具Fiddler以及wx.request请求webapi时web服务器端解析不到code问题

时间:2022-07-29 01:00:43

相关推荐

微信小程序请求webapi调试抓包工具Fiddler以及wx.request请求webapi时web服务器端解析不到code问题

参考链接

/weixin_40188140/article/details/82851315

/chenboyi081/p/4865447.html

/fmc088/article/details/80949626

手机用fiddler抓包

电脑最好是笔记本(我用的是台式电脑,分的局域网IP为192.168.1.130,手机连接的同一个网络下的WIFI),这样能和手机保持统一局域网内;其他不多说,直接说步骤了。

一.对PC(笔记本)参数进行配置

配置fiddler允许监听到https(fiddler默认只抓取http格式的)

打开Fiddler菜单项Tools->TelerikFiddler Options->HTTPS,

勾选CaptureHTTPS CONNECTs,点击Actions,

勾选Decrypt HTTPS traffic和Ignore servercertificate errors两项,点击OK(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行),见图:

我的没有勾选Ignore server cetificate errors,而是直接安装了证书名为:CertMaker for iOS and Android 的证书/fiddler/add-ons。 不装证书的话,会一直提示“creation of the root certificate was not successful”。

2.配置fiddler允许远程连接

上一步窗口中点击Tools->TelerikFiddler Options->Connections,勾选allow remote computers to connect,默认监听端口为8888(下图Fiddler listens on port就是端口号),若端口被占用可以设置成其他的,配置好后要重新启动fiddler,如下图:

点击完成之后,PC端配置完成,接下来开始配置手机端,以安卓为例,iOS方法同安卓;

二.对手机端进行参数配置

首先要保证手机和电脑都处于同一个网络;

然后要知道电脑的ip地址(当然这个电脑是安装fiddler的电脑),电脑ip地址可通过cmd,输入ipconfig查询,或网络共享中ipv4找到,我的是192.168.1.130,再者要知道fiddler的端口号,Tools->TelerikFiddler Options->Connections,port中值就是端口号,一般默认为8808;接下来开始操作手机;

1.第一步:更改手机无线网的代理(先设置代理)

手机系统设置-无线网-点击高级,代理选择手动,主机名就是fiddler的电脑ip地址,端口号,就是fiddler的端口号,与浏览器中ip:端口号保持一致,点击确定即可。

我用的华为mate10,进入代理设置界面为,设置->无线和网络->WLAN->长按已经连接的WIFI,会弹出窗口,点击窗口上的设置网络-进入设置网络界面后,将弹出的虚拟键盘取消,最下面会有一个“显示高级选项”的复选框,勾选后就可设置代理了。

下面就是下载和安装证书了

2,手机和电脑连接同一个网络,打开手机浏览器,输入http://ip:端口号(用的他人的图片,IP和端口号改为自己设置的代理服务器),点击前往;见下图:

3,前往之后会跳转到证书下载页,见下图:

点击FiddlerRootcertificate下载证书;

这里可能会出现

"creation of the root certificate was not successful”的问题 (我也出现了这个问题,但是我没有按下面的去做,而是去安装了上面那个证书“CertMaker for iOS and Android”,重新刷新手机浏览器链接也能安装了。具体不知道有啥用。)

window端 cmd

cd “d:\Fiddler”

makecert.exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by ” -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/(日期要比当前日期大)

再安装证书,这样就ok。

4,点击下载之后,安装证书并起个名字,随便写就行,点击确定;

5,要求设置一个手机密码,自己设置一个,记住密码就行,最后不用了去系统-安全-密码中去掉即可;

6,操作手机,电脑fiddler中会显示一些http信息,成功;

7,我的方法操作后有时会跳出下图,我直接点击的Yes,然后Fiddle依然是可以用的,可以嗅探手机app或微信小程序的http请求。

三.其他

1.停止电脑对手机的网络监控

系统设置-wifi,找到代理,去掉即可;

2.删除手机中证书

安卓系统设置—安全—收信任的凭证—用户,点击证书删除即可;

3.删除手机上密码

手机系统—安全—密码,删除系统密码即可;

=======================================================================

wx.request请求webapi时web服务器端解析不到code问题

使用fiddler监控,微信小程序发往webapi的数据信息,可以看到数据中code确实是undefined。所以原因还是在微信小程序这边。

webapi那边的动作是将接收数据解析到code后直接返回,

微信小程序真机调试界面显示,data为null,所以表示未解析到code。

小程序中undefined说明变量未定义就使用了,所以向上查看发现code一直传递的是个临时变量,而非保存为页面data中的数据,所以将首次获取到的code保存到data,然后后面从data中取code传递就没有这个问题了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。