Python httplib2完全支持http代理吗?Socks代理可以工作,但不能使用http

Python httplib2完全支持http代理吗?Socks代理可以工作,但不能使用http,python,proxy,screen-scraping,urllib2,Python,Proxy,Screen Scraping,Urllib2,这是我的密码。我无法让任何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

这是我的密码。我无法让任何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')
connect:(cuil.com,80)
回溯(最近一次呼叫最后一次):
文件“test.py”,第11行,在
响应,content=http.request(主url“GET”)
请求中的第1129行文件“/home/kk/bin/pythonlib/httplib2/_init__.py”
(响应,内容)=self.\u请求(conn,authority,uri,request\u uri,method,body,header,重定向,cachekey)
文件“/home/kk/bin/pythonlib/httplib2/_init__.py”,第901行,在请求中
(响应,内容)=自连接请求(连接,请求uri,方法,正文,标题)
文件“/home/kk/bin/pythonlib/httplib2/_init__.py”,第862行,在连接请求中
conn.request(方法、请求uri、正文、头)
文件“/usr/lib/python2.5/httplib.py”,第866行,在请求中
self.\u发送请求(方法、url、正文、标题)
文件“/usr/lib/python2.5/httplib.py”,第889行,在发送请求中
self.endheaders()
文件“/usr/lib/python2.5/httplib.py”,第860行,在endheaders中
self.\u发送\u输出()
文件“/usr/lib/python2.5/httplib.py”,第732行,在发送输出中
self.send(msg)
文件“/usr/lib/python2.5/httplib.py”,第699行,在send中
self.connect()
文件“/home/kk/bin/pythonlib/httplib2/_init__.py”,第740行,在connect中
self.sock.connect(sa)
文件“/home/kk/bin/pythonlib/socks.py”,第383行,在connect中
self.\uu negotiatehttp(destpair[0],destpair[1])
文件“/home/kk/bin/pythonlib/socks.py”,第349行,在
引发HTTPError((状态代码,状态行[2]))
socks.HTTPError:(403,‘禁止’)

这似乎是httplib2的一个未决问题:

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