import urllib
print urllib.urlopen('http://www.reefgeek.com/equipment/Controllers_&_Monitors/Neptune_Systems_AquaController/Apex_Controller_&_Accessories/').read()
Kịch bản trên hoạt động và trả về kết quả mong đợi khi:urllib2.urlopen() vs urllib.urlopen() - urllib2 ném 404 trong khi urllib hoạt động! TẠI SAO?
import urllib2
print urllib2.urlopen('http://www.reefgeek.com/equipment/Controllers_&_Monitors/Neptune_Systems_AquaController/Apex_Controller_&_Accessories/').read()
ném các lỗi sau:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/urllib2.py", line 124, in urlopen
return _opener.open(url, data)
File "/usr/lib/python2.5/urllib2.py", line 387, in open
response = meth(req, response)
File "/usr/lib/python2.5/urllib2.py", line 498, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.5/urllib2.py", line 425, in error
return self._call_chain(*args)
File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
result = func(*args)
File "/usr/lib/python2.5/urllib2.py", line 506, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found
Có ai biết tại sao điều này là gì? Tôi đang chạy này từ máy tính xách tay trên mạng gia đình của tôi không có cài đặt proxy - chỉ cần trực tiếp từ máy tính xách tay của tôi đến router sau đó đến www.
thật tuyệt khi biết, khi tôi nhập URL này vào trình duyệt của mình, nó cũng hoạt động. Điều này có nghĩa là trình duyệt cũng nhận được 404 nhưng chỉ hiển thị nội dung như urllib không? –
@ Jerry Vâng, đó là ý nghĩa của điều này. Bạn có thể xác minh điều này bằng Trình kiểm tra trang web của Firebug hoặc Safari/Chrome. –
Tôi có firebug và tôi đã kiểm tra nó, nhưng tôi không thấy bất cứ điều gì chỉ ra một 404 - có điều gì đó đặc biệt bạn phải làm gì? Ngoài sự tò mò, tại sao các trình duyệt chịu đựng các tiêu chuẩn nghèo nàn như vậy? Tại sao không chỉ ra rằng nó không thể tìm thấy tập tin? Đây có phải là một loại mẹo mà trang web mà nó sử dụng để ngăn chặn bot hay không - trả lại 404 có nội dung biết rằng trình duyệt sẽ hiển thị nội dung và hầu hết các chương trình sẽ chuyển sang? –