[英]python: requests.exceptions.Timeout vs requests.models.Response.status_code 504 ( gateway timeout )
[英]Python Requests library returns wrong status code
下面的Python代碼返回'403':
import requests
url = 'http://bedstardirect.co.uk/star-collection-braemar-double-bedstead.html'
r = requests.get(url)
print r.status_code
但是這個頁面是有效的,腳本應該返回'200',下面的perl腳本也是如此:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
my $url = 'http://bedstardirect.co.uk/star-collection-braemar-double-bedstead.html';
$mech->get($url);
print $mech->status,"\n";
我還在Firefox中檢查了Firebug,所有請求都有一個'200'狀態代碼。
我使用Python Requests v1.2.0。
似乎您的特定服務器需要User-Agent標頭。
嘗試:
r = requests.get('http://bedstardirect.co.uk/star-collection-braemar-double-bedstead.html', headers={'User-Agent': 'a user agent'})
編輯:
我機器請求的默認用戶代理如下: python-requests/1.2.0 CPython/2.7.4 Darwin/12.3.0
經過一些測試后,我發現任何包含單詞python
User-Agent都會在此服務器上失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.