Python 套接字模块:HTTP 代理
你好,我正在尝试使用受保护的 HTTP socks 服务器,并且想用下面的代码来实现。
>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> host = 'http://user:pass@server.com'
>>> port = 8888
>>> s.bind((host, port))
但是我遇到了一个错误:
socket.gaierror: [Errno -2] Name or service not known
不过如果我在 Firefox 上设置代理,这样就能正常工作。代码里有什么问题呢?
苏尔坦
1 个回答
1
我觉得你的问题是因为你的主机设置不正确。Socket的主机只是一个名字,不是协议。你的主机应该像这样:
host = 'server.com'
认证应该在你连接之后进行,也就是说,你发送的第一条消息就是认证信息。
我不能告诉你具体的认证方法,因为这很大程度上取决于你连接的服务器。你可以查看这个问题。