今天在用requests请求业务方接口时疯狂报错:This request has been blocked by WAF,但是在使用postman就可以请求;在网上也没有找到对应的说法;
解决办法思路:用Charles抓了一个postman的数据包,然后把请求为python程序试了一下,结果能请求通,然后就把问题定在了headers上面,继续对headers进行判断,一行一行删除然后再验证。最后把问题定位在了“user-agent”参数上面,原来是业务方对他们的所有接口进行了反爬虫的ua校验;这就好解决了,把headers添加到里面就ok了。
headers = { "Content-Type": "application/json", 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36' }