是否可以在套接字中使用代理链

Is it possible to use proxy chain in socket

我想知道您是否可以对套接字使用多个代理而不是一个代理,如果可以的话,如何操作。我尝试了一些代码,但我不确定那是否正确

示例代码:

import socket

s = socket.socket()
s.connect(('127.0.0.1', 9050))

s.send(b'CONNECT 174.77.111.196:4145 HTTP/1.1\r\nHost: 174.77.111.196:4145\r\n\r\n')
s.recv(1000)

s.send(b'GET / HTTP/1.1\r\nHost: www.google.com\r\n\r\n')
s.recv(5000)
s.close()

如果您有 3 个代理,A、B、C ...要创建到 HTTP 代理 B 的隧道,您只需使用:

CONNECT B_host:B_port HTTP/1.0
200 connections established

然后你有一个从代理 A 到代理 B 的隧道。然后在这个隧道内你可以创建另一个隧道到目标 C:

CONNECT C_host:C_port HTTP/1.0
200 connections established

记住:并非所有代理都允许您连接到主机和端口。