我是初次使用Windows 10的流浪者。开始了关于Udacity(完整堆栈基础)的课程。现在我创建了一个简单的Web服务器脚本,但是当我在localhost上测试它时:8080显示错误:无法访问站点。尝试了很多但无法找到解决方案。在 netstat -aon 上显示0.0.0.0:8080监听pid no 1072但是pid不在运行服务中(使用Clt + Alt + Del)。
网络服务器脚本 - webserver.py
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
class WebServerHandler(BaseHTTPRequestHandler):
def do_GET(self):
if self.path.endswith("/hello"):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
message = ""
message += "<html><body>Hello!</body></html>"
self.wfile.write(message)
print message
return
if self.path.endswith("/hola"):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
message = ""
message += "<html><body>Hola!</body></html>"
self.wfile.write(message)
print message
return
else:
self.send_error(404, 'File Not Found: %s' % self.path)
def main():
try:
port = 8080
server = HTTPServer(('', port), WebServerHandler)
print "Web Server running on port %s" % port
server.serve_forever()
except KeyboardInterrupt:
print " ^C entered, stopping web server...."
server.socket.close()
if __name__ == '__main__':
main()
代码正在执行并正常终止,没有错误,但在http://localhost:8080/hello上进行测试(无法访问网站)。
帮帮我。在此先感谢。
答案 0 :(得分:0)
尝试从VM访问curl链接:curl http://localhost:8080/hello
。
如果响应正常,则表示端口8080未转发,或者可能被流浪的VM防火墙阻止。您可以使用ufw
打开端口进行测试。
答案 1 :(得分:0)
我从 Python App 中更改了主机和端口:
Select Equip,Description, count(*) as Count,
from WorkOrder (nolock)
where DateTm Between DATEADD(month, DATEDIFF(month, 0, getDate()), 0) and
DATEADD(month, DATEDIFF(month, -1, getDate()), -1)
Group by Equip,Description order by Equip Asc
对此:
run(host='localhost', port=8080, debug=True)
,并在 vagrantfile 中通过以下操作:
run(host='0.0.0.0', port=5002, debug=True)
对此:
config.vm.network "forwarded_port", guest: 8080, host: 8080, host_ip: "127.0.0.1"
然后测试请求,并不要忘记添加资源(URL端点)在我的示例中为“ hello”:config.vm.network "forwarded_port", guest: 5002, host: 5002
这为我解决了这个问题。