我用VS2015建立了一个flask项目,代码如下:
views.py:
from datetime import datetime
from flask import render_template
from flask import Flask
from FlaskWebProject1 import app
@app.route('/')
@app.route('/home')
def home():
return render_template(
'index.html',
title='Home Page'
)
@app.route('/greeting/<surname>/<lastname>')
def greeting(surname,lastname):
return ("Hello "+surname+" "+lastname)
runserver.py:
"""
This script runs the FlaskWebProject1 application using a development server.
"""
from os import environ
from FlaskWebProject1 import app
if __name__ == '__main__':
HOST = environ.get('SERVER_HOST', 'localhost')
try:
PORT = int(environ.get('SERVER_PORT', '5555'))
except ValueError:
PORT = 5555
app.run(host = "0.0.0.0", port = 8081, debug = False)
根据flask官方教程:
我将host设为0.0.0.0,运行后显示:Running on http://0.0.0.0:8081/
使用cmd 键入ipconfig/all 回车后 查的我的IP地址是192.168.1.101这个是内网IP地址吗?
百度“本机IP”后,显示的本机IP地址是183.62.69.42,这个是公网IP地址吗?
我在自己的机器的浏览器地址栏中,输入192.168.1.101:8081/greeting/a/b,成功调用了函数,
但输入183.62.69.42:8081/greeting/a/b后,失败。请问这是为什么?
如果别的机器(内网或外网)想访问我的webservice,应该在浏览器地址栏输入什么地址?
这是ipconfig内容截图:
如果是内网访问的话,192.168.1.101:8081/greeting/a/b 就可以了。
如果是外网访问的话,并且主机运行在楼主自己的局域网内的话,可能就比较麻烦了。
应该是需要 外网ip并且在路由器上做端口映射之类的(没做过,也不是很清楚)
所以楼主如果是想提供外网能访问的服务的话,还是去租用个云服务器比较省事、稳定。
买服务器的时候,会为你分配外网ip的。