我现在有这个问题已经有8个小时了,我试了所有的答案,我用现在的问题,但没有找到解决办法
我要做的是使用URL将flask连接到android;因为它是本地的,所以我将主机设置为“0.0.0.0”以便在全球范围内可用,并尝试将这个URL设置为我的android“10.0.2.2:5000”、“10.0.3.2:5000”、“192.168.X.X:5000”、“127.0.0.1:5000”,并允许我的端口连接到防火墙,但仍然没有任何东西可以使用,我已经搜索到所有的同样的问题,我目前有和解决方案不起作用。在
下面是我的python代码:
#from app file
import os
from flask import Flask
app = Flask(__name__)
app.secret_key = b'MYKEY'
from blueprints import *
@app.errorhandler(404)
def page_not_found(error):
return 'page not found', 404
if __name__ == "__main__":
app.run(debug=True, host='0.0.0.0', port=5000)
#from __init__ of blueprint
from app import app
from blueprints.routes.admin import admin_route
from blueprints.routes.android import android_route
app.register_blueprint(admin_route)
app.register_blueprint(android_route)
#from my routes where should android manipulate
from flask import Blueprint
android_route = Blueprint('android', __name__)
@android_route.route('/android/login')
def login():
return 'hello'
下面是我的android处理网址:
^{pr2}$另外,我尝试使用xampp在PHP中运行它,并且运行良好;但是在flask中,它给出了一个错误:
W/System.err: java.io.FileNotFoundException: http://10.0.2.2:5000/android/login
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:206)
at com.example.swiftpin.URL.Http.post(Http.java:61)
at com.example.swiftpin.URL.ConnectHttp.doInBackground(ConnectHttp.java:88)
at com.example.swiftpin.URL.ConnectHttp.doInBackground(ConnectHttp.java:15)
at android.os.AsyncTask$2.call(AsyncTask.java:292)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
现在我找到了解决方案,唯一的问题是我发送了一个在python中不接受的post方法
而不是这样:
我忘了包括一个方法, 所以应该是这样的:
^{pr2}$当我尝试使用get方法时,我会发现这一点,它会给我一个结果,但当我使用post方法时,什么都不会发生。在
相关问题 更多 >
编程相关推荐