尝试构建一个简单的服务器:
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
class MyHandler(BaseHTTPRequestHandler):
def do_GET(self):
try:
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write("It works!")
return
except IOError:
self.send_error(404,'File Not Found: %s' % self.path)
try:
server = HTTPServer(('localhost', 8080), MyHandler)
print 'started httpserver...'
server.serve_forever()
except KeyboardInterrupt:
print '^C received, shutting down server'
server.socket.close()
嗯,它适用于127.0.0.1:8080
,但现在我想通过公共网络my ip:8080
访问它,我该怎么办?
修改:HTTPServer(('0.0.0.0', 8080), MyHandler)
对我不起作用,知道为什么?
我在win 7终极64位,python 2.7.3
答案 0 :(得分:1)
指定'0.0.0.0'
或''
(空字符串)以使服务器从任何地方接受连接。
server = HTTPServer(('0.0.0.0', 8080), MyHandler)
地址('0.0.0.0', 8080)
传递给socket.bind
。 0.0.0.0
用于绑定到任何本地网络接口。