如果没有,则套接字应答302并转发到另一个套接字(如果可能的话,Python)

时间:2012-01-07 08:33:10

标签: python sockets

由于防火墙的限制,我必须在机器上“共享”80 / tcp端口 我试图实现这个目标:
- 在端口80上监听的Python脚本(或使用python脚本的xinetd) - 在端口5000上监听的自定义(二进制语言)服务 - 当用户尝试通过http浏览器连接到端口80时,它会回答代码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的新手,抱歉 祝你有愉快的一天,

0 个答案:

没有答案