Из-за ограничений брандмауэра мне приходится «совместно использовать» порт 80 / tcp на машине.
Я пытаюсь добиться этого:
- скрипт Python (или xinetd, использующий скрипт python), прослушивающий порт 80
- Пользовательская служба (бинарный язык), прослушивающая порт 5000
- Когда пользователь пытается подключиться к порту 80 через http-браузер, он отвечает на код 301. Постоянно перемещен (в https: // ...)
- Когда программа пытается подключиться к порту 80, она перенаправляет на порт 5000, а затем перенаправляет ответ на программу.
Кажется, просто, но мне не удается это сделать.
#!/usr/bin/python
import sys
def file_put_contents(filename, mode, data):
file = open(filename, mode)
file.write(data)
file.close()
pipe = ??
for line in sys.stdin:
if 'GET /' in line:
print 'HTTP/1.1 301 Moved Permanently';
print 'Location: http://www.zyve.com';
else:
file_put_contents(pipe, 'a+', line)
sys.exit(0)
Я новичок в Python, извините.
Хорошего дня,