我在同一个本地网络上有一个Windows客户端和一个Linux服务器。我在客户端有简单的代码:
import requests
requests.post(url=f"http://192.168.43.227:8080/get_info/", json={"login":"some_login", "password": "some_password"})
服务器代码:
from flask import Flask, request, jsonify
import threading
app = Flask(__name__)
@app.route('/get_info', methods=['GET', 'POST'])
def authorization_func():
if request.method == 'POST':
data = jsonify(request.json)
print(data)
return data
if __name__ == '__main__':
threading.Thread(target=lambda: app.run(host='localhost', port=8080, debug=True, use_reloader=False)).start()
当我在Windows上启动客户端时,它写"未能建立新连接:[WinError 10061]"。怎么了?
我希望服务器能响应客户端
你已经要求你的Flask应用绑定到localhost
地址。这意味着除了在运行它的主机上,它不能从任何地方访问。您需要修改app.run
语句以监听所有地址:
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080, debug=True, use_reloader=False)
我已经删除了你在这里使用threading.Thread
,因为它没有任何意义:这是你的代码的最后一行;当线程在后台运行时,您不能尝试执行其他操作。