Python 套接字模块:HTTP 代理

2 投票
1 回答
2319 浏览
提问于 2025-04-16 03:34

你好,我正在尝试使用受保护的 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'

认证应该在你连接之后进行,也就是说,你发送的第一条消息就是认证信息。

我不能告诉你具体的认证方法,因为这很大程度上取决于你连接的服务器。你可以查看这个问题

撰写回答