首页 > 解决方案 > python请求,我得到的响应状态与邮递员的结果不同。

问题描述

请求:2.19.1

蟒蛇:3.6

url(就是url,没有特殊含义): http: //moneycake.tistory.com/43

Python代码(实际上是pycharm django代码):

try:
    r = requests.head('http://moneycake.tistory.com/43', allow_redirects=False)
    print(r.status_code)
except requests.exceptions.RequestException as e:
    pass

它返回>>> 403

但是当我使用方法和默认设置在Postman上执行此操作时,GET

它返回200 OK

为什么会这样?

以及如何200 OK在 pycharm 上获得状态响应?

标签: pythonpython-requestspostman

解决方案


您需要设置用户代理:

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
}

try:
    r = requests.head('http://moneycake.tistory.com/43', allow_redirects=False, headers=headers)
    print(r.status_code)
except requests.exceptions.RequestException as e:
    pass

输出

200

推荐阅读