【问题标题】:Proxy URLs must have explicit schemes代理 URL 必须有明确的方案
【发布时间】:2016-03-06 08:26:32
【问题描述】:

我想在请求中设置代理并获取url源的内容:

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.

【问题讨论】:

    标签: python proxy httprequest python-requests


    【解决方案1】:

    在您的情况下将scheme 设置为http

    privoxy = 'http://localhost:8118'
    

    (当然也可以是其他的,比如'https'、'ftp'等)

    更多来自Requests docs for Proxies:

    请注意,代理 URL 必须包含方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      • 2015-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多