4

I have managed to to install flask and run the hello-world script:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

I was impressed how easy it was. Then I wanted to make my web-server visible externally. As recommended, I put host='0.0.0.0' as the argument of run function. Then I found my IP address (in Google) and put it in the address line of my web browser (while the hello-world-script was running).

As a result I got: "A username and password are being requested" and a dialogue box where I need to put a user name and password. I am not sure but I think it comes from my wireless network. Is there a way to change this behaviour?

4

2 回答 2

7

您如何尝试运行您的应用程序?如果您运行 flask as - flask 在您的主机(默认为 127.0.0.1)和端口(默认为 5000app.run() )上创建自己的 WSGI 服务器(如果端口 < 1000,则需要权限)。如果您使用 nginx + WSGI 等运行烧瓶,您的服务器会解析主机和端口。

现在看起来你想通过端口获取应用程序,它解析了你的服务器,比如 nginx 或 Apache。尝试http://your-server-host-or-ip:5000使用默认端口获取烧瓶应用程序,或尝试更改端口(设置显式)app.run('0.0.0.0', 8080)并通过http://your-server-host-or-ip:8080.

顺便说一句,您总是可以使用命令行工具获取 IP 地址,例如ifconfig类 Unix 系统或ipconfig /allWindows。

于 2013-03-01T06:40:14.997 回答
1

为了详细说明@tbicr 所说的内容,该密码提示表明您正在尝试连接到端口 80 上的 IP,该端口很可能托管您的路由器/调制解调器的管理页面。您想在端口 5000 上连接到您的 IP,这是 Flask 应用程序运行的默认端口app.run()

于 2013-03-02T09:57:26.013 回答