Ответ сокета 302, если HTTP, и переадресация на другой сокет, если нет (Python, если возможно) - PullRequest
1 голос
/ 07 января 2012

Из-за ограничений брандмауэра мне приходится «совместно использовать» порт 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, извините.
Хорошего дня,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...