python请求获取REST并返回404

时间:2018-01-02 13:12:19

标签: python rest curl python-requests

我有一个REST网址:

url='http://xx.xx.xx.xx/server/rest/line/125'

我可以通过命令 curl 获得正确的返回json,如下所示:

curl -i http://xx.xx.xx.xx/server/rest/line/125

但是当我使用Python3请求时,它总是返回404,Python代码:

import requests
resp = requests.get(r'http://xx.xx.xx.xx/server/rest/line/125')
print(resp.status_code)

任何人都可以告诉我这个问题吗?服务器是否阻止了请求?

1 个答案:

答案 0 :(得分:0)

在以下情况下显示404:

  1. URL不正确,响应实际上是准确的。
  2. 在URL中尾随空格
  3. 该网站可能不喜欢来自Python代码的HTTP(S)请求。通过添加“ www”来更改标题。您的引荐来源网址。

resp = requests.get(r'http://www.xx.xx.xx.xx/server/rest/line/125')

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'
    }
result = requests.get('https://www.transfermarkt.co.uk', headers=headers)

根据您的情况,尝试选择#3。