簡體   English   中英

Python Requests庫返回錯誤的狀態代碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM