python请求,我得到的响应状态与邮递员的结果不同。

问题描述 投票:1回答:1

要求:2.19.1

python:3.6

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

为什么会这样?

我怎样才能在pycharm上获得200 OK状态响应?

python python-requests postman
1个回答
2
投票

您需要设置User-Agent:

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
© www.soinside.com 2019 - 2024. All rights reserved.