如何在Python中使用socks模块下载网页?

时间:2013-06-26 20:43:50

标签: python sockets proxy socks

http://socksipy.sourceforge.net/

>>> import socks
>>> s = socks.socksocket()
>>> s.setproxy(socks.PROXY_TYPE_SOCKS5,"socks.example.com")
>>> s.connect(("www.example.com",80))
>>> 

连接到代理后,如何下载网页?

注意:我不想使用“setdefaultproxy”。我已经有了这种方法的工作代码。

    socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, proxy_ip, proxy_port)
    socket.socket = socks.socksocket
    socket.setdefaulttimeout(3)
    my_ip = urllib2.urlopen('http://whatthehellismyip.com/?ipraw').read()

我想使用“连接”方法。

1 个答案:

答案 0 :(得分:1)

我猜这里有点因为我没有使用那个socksipy模块但是......

您可能需要先发送标题

s.send('GET / HTTP 1.1 / Host: localhost'); 

或其他一些......“”甚至可能有用。

然后从socket读取缓冲区,如下所示:

resp = s.recv(4096);

while (len(resp) > 0):
    print(resp);
    resp = s.recv(4096);