Создайте мой собственный прокси Python3, используя socketserver и http.server на машине EC2 - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь последовать этому примеру и перевести его на python3, чтобы создать прокси-сервер для доступа к некоторым http-страницам через него.

Я запускаю свойскрипт в AWS EC2, где я открыл порт 80.

Я запускаю приведенный ниже код, захожу в firefox и набираю XXXX / www.aena.es (X - публичный ip моего EC2, а aena - испанскийhttp веб-страница).

Я могу заставить свой браузер показывать HTML-код запрашиваемой веб-страницы.Но не сама веб-страница.Есть ли простой способ сделать это?

os.system('sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination ' + local_ip + ':8888')
os.system('sudo iptables -A FORWARD -p tcp --dport 80 -j ACCEPT')

PORT = 8888

class Proxy(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        full_path = 'http:/' + self.path
        print(full_path)
        req = urllib.request.urlopen(full_path)
        self.copyfile(req, self.wfile)

httpd = socketserver.ForkingTCPServer((local_ip, PORT), Proxy)
print("serving at port ", PORT)
httpd.serve_forever()
...