问题描述
肯定很多人用python写爬虫抓取数据时,遇到过json数据空格的问题,发过去抓包发现添加了空格,校验不通过,导致请求失败。
或者另一种表现
网址直接请求可以,使用Python requests请求就报错,请求不到。
问题原因
一般遇到这个问题的都是这样写的,正式因为json传参默认进行格式化造成的问题。
json_data = {a:1,b:2}
request.post(url,json=json_data)
解决方法
不用json传参就好了,把请求的json的字典用引号引起来,变为字符串。请求行改为data传请求体就可以了。
json_data = '{a:1,b:2}'
requests.post(url,data=json_data)