серьезно простой Python HTTP прокси? [Дубликат]

23
задан jma 10 December 2010 в 19:39
поделиться

3 ответа

«Очень простой пример прокси-сервера, к которому можно подключиться, а затем он сам попытается подключиться к переданному ему адресу». Это практически определение HTTP-прокси.

Здесь есть действительно простой пример прокси: http://effbot.org/librarybook/simplehttpserver.htm

Суть его всего в 3 строки :

class Proxy(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def do_GET(self):
        self.copyfile(urllib.urlopen(self.path), self.wfile)

Таким образом, это SimpleHTTPRequestHandler, который в ответ на запрос GET открывает URL-адрес в пути (запрос к прокси-серверу обычно выглядит как "GET http: // example .com / ", а не как" GET /index.html "). Затем он просто копирует все, что может прочитать с этого URL, в ответ.

Заметим, что это действительно минимально. Я считаю, что это вообще не касается заголовков.

Кстати: path задокументировано на http://docs.python.org/library/basehttpserver.html . Он был установлен до того, как был вызван ваш метод do*.

30
ответ дан Laurence Gonsalves 10 December 2010 в 19:39
поделиться

proxpy выглядит довольно многообещающе, очень просто настроить запросы и ответы.

4
ответ дан Dima Tisnek 10 December 2010 в 19:39
поделиться

Из витой вики

from twisted.web import proxy, http
from twisted.internet import reactor
from twisted.python import log
import sys
log.startLogging(sys.stdout)

class ProxyFactory(http.HTTPFactory):
    protocol = proxy.Proxy

reactor.listenTCP(8080, ProxyFactory())
reactor.run()
14
ответ дан sal 10 December 2010 в 19:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: