2016-03-06 22 views
0

我想設置代理的請求,並獲得網址源的內容:代理網址都必須有明確的計劃

privoxy = 'localhost:8118' 
proxy_dict = {'http':privoxy, 'https':privoxy, 'ftp':privoxy, 'ssl':privoxy} 
content = session.get(url=url, proxies=proxy_dict).content 

以下錯誤:

File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 467, in get 
    return self.request('GET', url, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 455, in request 
    resp = self.send(prep, **send_kwargs) 
    File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 558, in send 
    r = adapter.send(request, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 305, in send 
    conn = self.get_connection(request.url, proxies) 
    File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 206, in get_connection 
    except_on_missing_scheme(proxy) 
    File "/usr/lib/python2.7/dist-packages/requests/utils.py", line 636, in except_on_missing_scheme 
    raise MissingSchema('Proxy URLs must have explicit schemes.') 
requests.exceptions.MissingSchema: Proxy URLs must have explicit schemes. 

回答

1

設置schemehttp,你的情況:

privoxy = 'http://localhost:8118' 

(它可以是其他的,如'https','ftp'等)

更多來自Requests docs for Proxies

Note that proxy URLs must include the scheme.