写在前面


昨天看到一篇很有意思的文章,使用python自动参与「抽奖助手」抽奖,作为中奖绝缘体还是想用python提升一下自己的中奖率,所以就自己动手实验一下。

具体的实现代码不过10行,昨天在实验的时候主要卡在抓包上,今天主要讲一讲前面的准备工作。

准备工作


安装requests库

pip install requests

安装并配置抓包工具Charles

  • 第一步:
    

    安装对应系统版本的Charles,官方网站 Charles是收费的软件默认试用是30天,想要长久使用的小伙伴,我给大家提供了破解方式,点击这里

  • 第二步:
    

    手机抓包设置:设置charles为允许状态,并设置好接入端口,在Charles的菜单栏上选择「Proxy」->「Proxy Settings」,填入代理端口8888(注意,这个端口不一定填写8888,也可以写别的端口,但是需要记住这个端口号,因为这里设置的允许接入的端口,手机端配置的时候需要用到),并且勾上「Enable transparent HTTP proxying」 就完成了在Charles上的设置。如下图:

同时还需要记住本机的IP地址,在windows系统下直接在CMD命令行窗口中输入ipconfig可以查看本机的IP。

![](https://s4.51cto.com/images/blog/202101/03/9c8a5635172194dcc918ce6186482351.bmp?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)


在浏览器窗口中输入本机的IP地址+端口号会弹出提示窗口,如下(图片是之前截的大家按照自己的IP地址输入即可):

  • 第三步; 手机端按照Charles的IP和端口进行配置,把手机链接到和电脑同一个局域网下,点击手机WIFI,点击「代理」->「手动」第一行host填入IP下一行填入第二步的端口号,如下:

  • 第四步:
    

    下载电脑端CA证书,Charles并不是默认抓取ssl的,但是现在微信要求所有的小程序内部通信必须使用HTTPS协议,所以我们需要安装CA证书,点击「Help」 -> 「SSL Proxying」 -> 「Install Charles Root Certificate」如下:

    在弹出的CA安装窗口点击「安装」。

下载手机端CA证书,手机设置代理后访问chls.pro/ssl安卓手机会弹出安装证书的窗口证书名称没有要求可以随意填写,苹果是安装描述文件点击,如下:

  • 第五步:
    
    配置SSL的抓取域名,点击「proxy」->「SSL Proxying Settings」点击「Add」输入*,因为之后要经常抓取HTTPS,我们直接偷懒默认抓取所有HTTPS就不用单个站点配置了。如下:

设置完之后就可以正常抓取手机访问的页面了,至于其他什么操作,大家有需要可以去Google一下。