Как привязать http.server к удаленному прокси-серверу Socks?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как привязать http.server к удаленному прокси-серверу Socks?

Сообщение Anonymous »

У меня есть веб-сервер, который будет отвечать на запросы на удаленном прокси-сервере Socks5.
Я хочу, чтобы веб-сервер подключался к прокси-серверу, отправлял команду связывания и прослушивал соединение.
Как настроить http.server для привязки и прослушивания удаленного порта?
Я пытался переопределить server_bind без успеха:

Код: Выделить всё

class TestHTTPServer ( http.server.HTTPServer ):
def __init__ ( self, server_address, RequestHandlerClass, proxy_host=None, proxy_port=None, bind_and_activate=True ):
if ':' in (str)(server_address[0]):
self.address_family = socket.AF_INET6
else:
self.address_family = socket.AF_INET

self.proxy_host = proxy_host
self.proxy_port = proxy_port

super().__init__ ( server_address, RequestHandlerClass, bind_and_activate )

def serve_forever ( self, poll_interval = 0.5 ):
self.socket.settimeout ( poll_interval )
while not stop_unittest_event.is_set ():
try:
self.handle_request ()
except OSError:
pass

def server_bind ( self ):
if self.proxy_host is None or self.proxy_port is None:
super().server_bind ()
else:
self.socket = socks.socksocket()
self.socket.set_proxy(socks.SOCKS5, self.server_address[0], self.server_address[1])
self.socket.bind(self.server_address)
Похоже, что set_proxy обрабатывает только запросы клиентов (а не серверов). Как можно изменить этот код для прослушивания порта socks5?
Это то, что FTP-сервер делает в активном режиме.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ocks-proxy
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»