在localhost上运行python中的API

时间:2018-02-04 06:40:15

标签: json python-2.7 api localhost anaconda

我需要将JSON从客户端发送到服务器。我已经写了两个简单的文件作为客户端和服务器来在localhost上运行它们。在http://127.0.0.1:5000/a上运行第二个程序,我有这个输出: [   {     " origin_lat":38.916228,     " origin_lon":-77.031576   } ] 我希望通过运行http://127.0.0.1:5001/b上的第一个程序,使用POST请求获得相同的输出。它没有运行并给我这个错误:

内部服务器错误

服务器遇到内部错误,无法完成您的请求。服务器过载或应用程序出错。

我在Anaconda上运行它们。

第一个程序:

from flask import Flask, jsonify
import requests
   data=[]
   data.append({"origin_lat":38.916228,"origin_lon":-77.031576})

app = Flask(__name__)
@app.route("/b")
def home():
   res = requests.post("http://127.0.0.1:5000/a", json=data)    
   dictFromServer = res.json()
   return jsonify(dictFromServer)
if __name__ == "__main__":
   app.run(port=5001,threaded=True)

第二个程序:

from flask import Flask, jsonify
app = Flask(__name__)
@app.route("/a")
def post_api_fun_single_time():
   data=[]
   data.append({"origin_lat":38.916228,"origin_lon":-77.031576})
   return jsonify(data)

if __name__ == "__main__":
   app.run(port=5000,threaded=True)

1 个答案:

答案 0 :(得分:0)

我自己解决了。问题是我想使用浏览器运行它。如果我们通过“高级REST客户端”测试它,它可以工作。