在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python  HTML/ 如何使用flask發(fā)布可供其他機(jī)器調(diào)用的webservice

如何使用flask發(fā)布可供其他機(jī)器調(diào)用的webservice

我用VS2015建立了一個flask項(xiàng)目,代碼如下:

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)

根據(jù)flask官方教程:
圖片描述

我將host設(shè)為0.0.0.0,運(yùn)行后顯示:Running on http://0.0.0.0:8081/
使用cmd 鍵入ipconfig/all 回車后 查的我的IP地址是192.168.1.101這個是內(nèi)網(wǎng)IP地址嗎?
百度“本機(jī)IP”后,顯示的本機(jī)IP地址是183.62.69.42,這個是公網(wǎng)IP地址嗎?
我在自己的機(jī)器的瀏覽器地址欄中,輸入192.168.1.101:8081/greeting/a/b,成功調(diào)用了函數(shù),
但輸入183.62.69.42:8081/greeting/a/b后,失敗。請問這是為什么?
如果別的機(jī)器(內(nèi)網(wǎng)或外網(wǎng))想訪問我的webservice,應(yīng)該在瀏覽器地址欄輸入什么地址?

這是ipconfig內(nèi)容截圖:
圖片描述

回答
編輯回答
舊言

如果是內(nèi)網(wǎng)訪問的話,192.168.1.101:8081/greeting/a/b 就可以了。

如果是外網(wǎng)訪問的話,并且主機(jī)運(yùn)行在樓主自己的局域網(wǎng)內(nèi)的話,可能就比較麻煩了。
應(yīng)該是需要 外網(wǎng)ip并且在路由器上做端口映射之類的(沒做過,也不是很清楚)

所以樓主如果是想提供外網(wǎng)能訪問的服務(wù)的話,還是去租用個云服務(wù)器比較省事、穩(wěn)定。
買服務(wù)器的時(shí)候,會為你分配外網(wǎng)ip的。

2017年10月21日 21:05