首页 > 解决方案 > 试图提取 xhr 响应,但我不断收到 422 错误:无法处理的实体

问题描述

我正在尝试提取 xhr 响应,但我不断收到 422 错误。我的代码是:

url = "https://www.website.com/users/12345/activities?limit=15&start_from_id=0&_=1211"
contents =  urllib.request.Request(url, headers={'content-type':'text/javascript', 'accept':'text/javascript'})
res = urllib.request.urlopen(contents).read()

和输出

r = requests.get(url)
headers = r.request.headers
print(headers)

{'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}

在 chrome 检查元素窗口的网络选项卡中,响应标头内容类型为text/javascript; charset=utf-8,请求标头接受为text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01

任何帮助将非常感激。

标签: pythonurllib

解决方案


所以我通过一一添加所有请求标头来解决这个问题。最后一个工作是x-requested-with: XMLHttpRequest


推荐阅读