让Chrome浏览器抓包接口数据秒变 python 代码
简介
uncurl是一个库,允许您将curl请求转换为使用requests 的python代码。由于Chrome网络检查器具有的“copy as cURL”,因此该工具对于用python重新创建浏览器请求很有用。
安装
pip install uncurl
使用步骤
1. 抓取接口数据--Chrome浏览器
以课堂派获取学生作业接口为例,在浏览器获取相关接口,右键 “copy as cURL”
复制数据如下
curl 'https://www.ketangpai.com/HomeworkApi/listsHomework?courseid=MDAwMDAwMDAwMLOsx9uGz79r' -H 'sec-fetch-mode: cors' -H 'cookie: ketangpai_home_favicon=%2Ffavicon.ico; PHPSESSID=cds5589atpq5lrtpgetvs1ho86; ketangpai_home_remember=think%3A%7B%22username%22%3A%22MDAwMDAwMDAwMLOcx92Gqc1shbiClLG6etmZtmfOk2RhbQ%22%2C%22expire%22%3A%22MDAwMDAwMDAwMLOGuZaIubOxhqiGmLOmdZ4%22%2C%22token%22%3A%22MDAwMDAwMDAwMMurrpWavLehhs1-3rHPo5OFt4vbepuomcWmmqaMiHtnr5ypzYWosKKZq6HQxtOK0ZCme5p-q6iZu2yrn4uNhJ3KedDYk7ivboS4ipazuYXahaeDmIB6YW0%22%7D; SERVERID=46de5db6e37d7dfd4998e2f5b47fad92|1569328495|1569328476' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: zh-CN,zh;q=0.9' -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36' -H 'accept: application/json, text/javascript, */*; q=0.01' -H 'referer: https://www.ketangpai.com/Course/homework/courseid/MDAwMDAwMDAwMLOsx9uGz79r.html' -H 'authority: www.ketangpai.com' -H 'x-requested-with: XMLHttpRequest' -H 'sec-fetch-site: same-origin' --compressed
2. 执行uncurl命令,转化数据包为python代码
回到命令行中执行
uncurl "复制的curl格式数据"
例子如下:
uncurl "curl 'https://www.ketangpai.com/HomeworkApi/listsHomework?courseid=MDAwMDAwMDAwMLOsx9uGz79r' -H 'sec-fetch-mode: cors' -H 'cookie: ketangpai_home_favicon=%2Ffavicon.ico; PHPSESSID=cds5589atpq5lrtpgetvs1ho86; ketangpai_home_remember=think%3A%7B%22username%22%3A%22MDAwMDAwMDAwMLOcx92Gqc1shbiClLG6etmZtmfOk2RhbQ%22%2C%22expire%22%3A%22MDAwMDAwMDAwMLOGuZaIubOxhqiGmLOmdZ4%22%2C%22token%22%3A%22MDAwMDAwMDAwMMurrpWavLehhs1-3rHPo5OFt4vbepuomcWmmqaMiHtnr5ypzYWosKKZq6HQxtOK0ZCme5p-q6iZu2yrn4uNhJ3KedDYk7ivboS4ipazuYXahaeDmIB6YW0%22%7D; SERVERID=46de5db6e37d7dfd4998e2f5b47fad92|1569328495|1569328476' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: zh-CN,zh;q=0.9' -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36' -H 'accept: application/json, text/javascript, */*; q=0.01' -H 'referer: https://www.ketangpai.com/Course/homework/courseid/MDAwMDAwMDAwMLOsx9uGz79r.html' -H 'authority: www.ketangpai.com' -H 'x-requested-with: XMLHttpRequest' -H 'sec-fetch-site: same-origin' --compressed"
即可将数据包转换为requests请求的python代码了
- macOS可直接执行
pbpaste | uncurl
来源: http://lemfix.com/topics/410
后记: 不是所有接口都行,要自己修改一下,但是可以用作参考
让Chrome浏览器抓包接口数据秒变 python 代码的更多相关文章
- python爬虫01在Chrome浏览器抓包
尽量不要用国产浏览器,很多是有后门的 chrome是首选 百度 按下F12 element标签下对应的HTML代码 点击Network,可以看到很多请求 HTTP请求的方式有好几种,GET,POST, ...
- 【百度地图API】手机浏览器抓包工具及其使用方法
原文:[百度地图API]手机浏览器抓包工具及其使用方法 摘要:为了测试地图API在手机浏览器上的性能,需要给手机浏览器设置代理.通过代理,我们可以在PC上获取到抓包数据.进而对性能做进一步分析. -- ...
- whistle浏览器抓包(以火狐浏览器为例)
环境:whistle:1.14.6 whistle浏览器抓包 以火狐浏览器为例 1.启动whistle 使用w2 start启动whistle. 退出cmd后,whistle自动关闭了,所以每次使用w ...
- Fiddler抓HTTPS接口数据,安装证书并不复杂,超详细的图文解说,不信你看!
@ 目录 前言 安装环境 配置网络 IP 端口 配置网络 浏览器打开下载链接 下载证书 安装证书 证书安装坑 前言 抓包是我测试工作中必须要学会的一个工具,我们都知道,抓取HTTPS接口里需要安装证书 ...
- HTML 浏览器抓包
1.浏览器 2.抓包 3.查看get/post/cookie 一 谷歌浏览器 二 抓包查看get/post数据.cookie 截图:
- Wireshark工具抓包的数据包分析
Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料. Wireshark使用WinPCAP作为接口,直接与网卡 ...
- Windows下Charles从下载安装到证书设置和浏览器抓包
1.在Charles官网https://www.charlesproxy.com/download/下载,我这边下载的是免费体验版的. 2.安装好以后打开,配置Charles证书:选择help——SS ...
- Wireshark网络抓包(一)——数据包、着色规则和提示
一.数据包详细信息 Packet Details面板内容如下,主要用于分析封包的详细信息. 帧:物理层.链路层 包:网络层 段:传输层.应用层 1)Frame 物理层数据帧概况 2)Ethernet ...
- fiddler抓包App数据
在做手机或移动端APP的接口测试时,需要从开发人员那里获取接口文档,接口文档应该包括完整的功能接口.接口请求方式.接口请求URL.接口请求参数.接口返回参数.如果当前项目没有接口文档,则可以使用fid ...
随机推荐
- machine learning (5)---learning rate
degugging:make sure gradient descent is working correctly cost function(J(θ)) of Number of iteration ...
- ASCII、Unicode、UTF-8字符集编码
ASCII码 计算机内部,所有信息都是由二进制的字符串表示 每一个二进制位有“0”.“1”两种状态,因此8个二进制位可以表示256个状态,每个状态代表一个符号就是256个符号,从0000000到111 ...
- kvm创建win7虚拟机默认只识别2个cpu解决方法
现在人在部署OpenStack之后会发现按照配额运行Linux的虚拟机没有问题,但是运行windows的虚拟机会发现如果配置2个以上的核则无法识别,windows server也最多支持到4个核.无法 ...
- git基础问题
1).git add 与gitstage的区别 git stage只是git add的同义词,所以在使用上没有区别 i)Git仓库的三个组成部分:工作区(Working Directory).暂存区( ...
- php获取本地化时间戳函数
在实际的工作中我们还需要经常用到指定某个时间生成. 例如:需要找到昨天到今天此时此刻的注册用户. 那么我们需要做两件事情: 1.得到当前的时间unix时间戳.用time()函数就可以直接搞定大理石平台 ...
- 【JQuery】操作前端控件知识笔记
一.jQuery操作复选框checkbox 1.设置选中.取消选中.获取被选中的值.判断是否选中等 注意:操作checked.disabled.selected属性,强制建议只用prop()方法!!, ...
- 删除tppabs,href="javascript:if(confirm)...",、/*tpa=http://...
扒网站,据说是web从业人员的必备技能; 废话不多,下面应该是你想要的; 1: tppabs="h[^"]*" 2: href="javascript\:i ...
- C语言for 循环 9*9 实现九九乘法表
#include <stdio.h> int main(void) { //for循环实现9*9乘法表 /* 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 */ ...
- PreTranslateMessage中有调用模态对话框的解决方法
原文:https://blog.csdn.net/guoguojune/article/details/45332511 dlg.DoModal()截住了界面消息,所以返回时原来的pMsg的内容已经更 ...
- jquery中$.get()如何让跨域请求携带cookie?
在这个get请求前面加上这个就好了~~~~