2016-01-26 84 views
1

我有一個名爲href_w與一羣MP3下載鏈接的列表,但是當我執行這段代碼,它給了我一個錯誤:mp3下載urllib.request.urlopen()超時

# Download file 
print(color.BLUE + "\n[*] Downloading requested mp3(s) ..." + color.END) 
for link in href_w: 
    url = "http://www.mp3c.cc"+link.replace('track','files') 
    print("[*] GET "+url) 
    req = Request(url, headers={'User-Agent': 'Mozilla/5.0'}) 
    response = urlopen(req) 
    html = response.read() 

錯誤日誌看起來是這樣的:

[*] Downloading requested mp3(s) ... 
[*] GET http://www.mp3c.cc/files/88144527_288384031/ 
Traceback (most recent call last): 
    File "mp3spyder.py", line 99, in <module> 
    response = urlopen(req) 
    File "/usr/lib/python3.4/urllib/request.py", line 153, in urlopen 
    return opener.open(url, data, timeout) 
    File "/usr/lib/python3.4/urllib/request.py", line 461, in open 
    response = meth(req, response) 
    File "/usr/lib/python3.4/urllib/request.py", line 571, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "/usr/lib/python3.4/urllib/request.py", line 493, in error 
    result = self._call_chain(*args) 
    File "/usr/lib/python3.4/urllib/request.py", line 433, in _call_chain 
    result = func(*args) 
    File "/usr/lib/python3.4/urllib/request.py", line 676, in http_error_302 
    return self.parent.open(new, timeout=req.timeout) 
    File "/usr/lib/python3.4/urllib/request.py", line 461, in open 
    response = meth(req, response) 
    File "/usr/lib/python3.4/urllib/request.py", line 571, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "/usr/lib/python3.4/urllib/request.py", line 499, in error 
    return self._call_chain(*args) 
    File "/usr/lib/python3.4/urllib/request.py", line 433, in _call_chain 
    result = func(*args) 
    File "/usr/lib/python3.4/urllib/request.py", line 579, in http_error_default 
    raise HTTPError(req.full_url, code, msg, hdrs, fp) 
urllib.error.HTTPError: HTTP Error 502: Bad Gateway 

我能做些什麼來做到這一點嗎?

回答

1

如果您從Web服務器收到502響應,通常意味着它們的後端已關閉。如果您使用curl或wget,您可能會得到相同的響應。

無論如何,您應該總是嘗試使用curl或wget來調試此類問題。