是否可以在套接字中使用代理链
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
记住:并非所有代理都允许您连接到主机和端口。
我想知道您是否可以对套接字使用多个代理而不是一个代理,如果可以的话,如何操作。我尝试了一些代码,但我不确定那是否正确
示例代码:
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
记住:并非所有代理都允许您连接到主机和端口。