Błąd adresu URL usług IIS w systemie Windows 10 - interfejs API Python Flask Rest
Nov 20 2020
To jest moja przykładowa aplikacja API REST w języku Python. Hostowałem tę aplikację w Windows 10 IIS.
hello.py
from flask import Flask
app=Flask(__name__)
@app.route('/',methods=['GET'])
def index():
return "Hello World 0.0!"
@app.route('/1',methods=['GET'])
def index1():
return "Hello 1.0!"
@app.route('/2',methods=['GET'])
def index2():
return "Hello 2.0!"
if __name__=='__main__':
app.run(debug=True)
web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="FlaskFastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files\Python39\python.exe|"C:\Program Files\Python39\lib\site-packages\wfastcgi.py"" resourceType="Either" requireAccess="Script" />
</handlers>
<security>
<requestFiltering allowDoubleEscaping="true"></requestFiltering>
</security>
</system.webServer>
<appSettings>
<!-- Required settings -->
<add key="WSGI_HANDLER" value="hello.app" />
<add key="PYTHONPATH" value="~/" />
<!-- Optional settings -->
<add key="WSGI_LOG" value="C:\website\oboeqa_web.log" />
<add key="WSGI_RESTART_FILE_REGEX" value=".*((\.py)|(\.config))$" />
</appSettings>
</configuration>
http: // localhost: 8080
Hello World 0.0!
http: // localhost: 8080/1
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
http: // localhost: 8080/2
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
http: // localhost: 8080/3
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Pierwsza trasa tylko działa, a pozostała trasa nie działa.
Odpowiedzi
2 DingPeng Nov 20 2020 at 09:35
Musisz zmodyfikować typ zasobu:
<handlers>
<add name="FlaskFastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Python27\python.exe|C:\Python27\lib\site-packages\wfastcgi.pyc" resourceType="Unspecified" requireAccess="Script" />
</handlers>
Musisz zmienić wartość resourceType na Unspecified.