在第三方服务器上有推送数据服务。我需要能够接收它在我的服务器上运行的python脚本发送的几乎所有消息。
我想知道,它可靠吗?我可以在我的服务器上运行我的python脚本并让它将传入的消息插入到db中,以后我可以从客户端应用程序访问它们吗?或者是否还有其他更复杂的东西,例如涉及的更多层次的东西?我可以在那种场景中使用RabbitMQ,是否真的需要它?
答案 0 :(得分:0)
这是一个简单的api设置,使用Flask运行127.0.0.1:8001
,使用BeautifulSoup解析XML数据,并回应结果。
note.xml:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
app.py:
from flask import Flask, request
from bs4 import BeautifulSoup
app = Flask(__name__)
@app.route('/xml', methods=['POST'])
def recieve_some_xml():
data = request.get_data()
parsed = BeautifulSoup(data)
to = parsed.find('to').text
sender = parsed.find('from').text
heading = parsed.find('heading').text
body = parsed.find('body').text
# do something with data, insert into db...
return "Data sent was: %s, %s %s, %s" % (to, sender, heading, body)
if __name__ == "__main__":
app.run(debug=True, port=8001)
当我将XML数据发送到该地址时:
curl -H "Content-Type: text/xml" -d @note.xml -X POST http://127.0.0.1:8001/xml
Data sent was: Tove, Jani Reminder, Don't forget me this weekend!