【问题标题】:Does httplib2 support http proxy at all? Socks proxy works but not httphttplib2 是否支持 http 代理? Socks 代理工作但不是 http
【发布时间】:2010-05-25 19:21:29
【问题描述】:

这是我的代码。我无法让任何 http 代理工作。 Socks 代理 (socks4/5) 工作正常。任何想法为什么? urllib2 可以很好地与代理一起使用。我很困惑。谢谢..

代码:

  1 import socks
  2 import httplib2
  3 import BeautifulSoup
  4 
  5 httplib2.debuglevel=4
  6 
  7 http = httplib2.Http(proxy_info = httplib2.ProxyInfo(3, '213.30.160.160', 80))
  8 
  9 main_url = 'http://cuil.com'
 10 
 11 response, content = http.request(main_url, 'GET')
 12 
 13 #html_content = BeautifulSoup(content)
 14 
 15 print response

输出:

connect: (cuil.com, 80)
Traceback (most recent call last):
  File "test.py", line 11, in <module>
    response, content = http.request(main_url, 'GET')
  File "/home/kk/bin/pythonlib/httplib2/__init__.py", line 1129, in request
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
  File "/home/kk/bin/pythonlib/httplib2/__init__.py", line 901, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, headers)
  File "/home/kk/bin/pythonlib/httplib2/__init__.py", line 862, in _conn_request
    conn.request(method, request_uri, body, headers)
  File "/usr/lib/python2.5/httplib.py", line 866, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.5/httplib.py", line 889, in _send_request
    self.endheaders()
  File "/usr/lib/python2.5/httplib.py", line 860, in endheaders
    self._send_output()
  File "/usr/lib/python2.5/httplib.py", line 732, in _send_output
    self.send(msg)
  File "/usr/lib/python2.5/httplib.py", line 699, in send
    self.connect()
  File "/home/kk/bin/pythonlib/httplib2/__init__.py", line 740, in connect
    self.sock.connect(sa)
  File "/home/kk/bin/pythonlib/socks.py", line 383, in connect
    self.__negotiatehttp(destpair[0],destpair[1])
  File "/home/kk/bin/pythonlib/socks.py", line 349, in __negotiatehttp
    raise HTTPError((statuscode,statusline[2]))
socks.HTTPError: (403, 'Forbidden')

【问题讨论】:

    标签: python proxy screen-scraping urllib2


    【解决方案1】:

    问题已解决。自 2011 年 10 月 6 日起,您可以使用 http 代理

    【讨论】:

      【解决方案2】:

      看起来这是 httplib2 的一个未解决问题:http://code.google.com/p/httplib2/issues/detail?id=38

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-06
        • 1970-01-01
        • 1970-01-01
        • 2014-06-28
        • 2018-03-27
        • 2017-04-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多