2016-03-06 26 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.