Flask到android studi

2024-09-27 17:50:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在有这个问题已经有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)

Tags: runfromimportcomappurlflaskos
1条回答
网友
1楼 · 发布于 2024-09-27 17:50:39

现在我找到了解决方案,唯一的问题是我发送了一个在python中不接受的post方法

而不是这样:

@android_route.route('/android/login')
def login():
    return 'hello'

我忘了包括一个方法, 所以应该是这样的:

^{pr2}$

当我尝试使用get方法时,我会发现这一点,它会给我一个结果,但当我使用post方法时,什么都不会发生。在

相关问题 更多 >

    热门问题