抓包工具Fiddler .
对协议的设置 Tools -Options-Https 勾选 connections 视情况勾选.
Filter now屏蔽干扰项在下方可开启.
报SLL错误,在请求中添加verify=False,取消控制台输出的InsecureRequestWarning警告.
报端口错误的情况,proxies协议可能会用到代理.
出现证书检测爆红可以导入urllib3模块
import urllib3 urllib3.disable_warnings()
在进行页面跳转时url不变化,抓包工具抓取多了一项,程序运行报错,对多抓取的进行分析.
```bash
url = "xxxxx"
requests.post('https://xxxxxxxxxx', headers=headers, data=data, verify=False, proxies=proxies)
response = requests.post(url, headers=headers, data=data, verify=False, proxies=proxies)
将其与请求响应一起运行结果发现运行正常能够得到正常的数据.进行正常逻辑分析,
```bash
page_data = json.loads(response.text)
values = [int(item['value'].strip()) for item in page_data.get('data', [])]
total_sum += sum(values)
用type对数据进行类别分析. valueerror:错误为出现最多的.
textView:以文本的形式展示响应结果.
SyntaxView:以脚本的形式展示响应结果.
ImageView:进行图片查看以及图片信息.
HexView:16进制表现响应结果.
WebView:列表形式展示响应结果.
Auth:展示部分信息.
Caching:响应的缓存过期时间或者缓存.
Cookies:响应的cookies信息.
Raw:文本形式展示响应头.
json: json展示响应结果.
XML: xml形式展示响应结果.
首先对网页进行抓包,进行重放攻击,发现有一项有问题.
对其进行分析可能是请求不完善导致,将请求信息补完再进行观察.
涉及到参数验证需要用到Composer中的Raw,对参数进行删除查看是否能够成功至最简.
cookies尽量不要放在Headers中,单独存放.
运行结果发现还是不行,对比运行的请求头有何不同,倘若排除掉无关因素,发现还是无法成功,很有可能是需要请求的时候固定请求顺序.
session = requests.Session()
session.headers.clear()
session.headers.update(headers)
先建立一个session,然后用session方法更新请求头.默认的header不是按照有序排列的。它内部有一套自己的排序规则
需要根据session清除他自带的,然后才能改成自己的.
然后运行可以得到数据,进行正常逻辑运算.