0

尝试构建一个简单的服务器:

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

4

1 回答 1

1

指定'0.0.0.0'''(空字符串)以使服务器接受来自任何地方的连接。

server = HTTPServer(('0.0.0.0', 8080), MyHandler)

地址('0.0.0.0', 8080)被传递给socket.bind. 0.0.0.0用于绑定到任何本地网络接口。

于 2014-12-30T15:30:44.377 回答