首页 > 解决方案 > 如何获取 POST 请求,并将相同的 POST 请求广播到 python 中预定义的 url 列表

问题描述

这是在面试中要求我完成的任务,但我并不真正理解它,因此无法解决它我知道如何使用请求库执行 POST 请求,并且我可以对集合执行 POST 请求像这样的网址

import requests
URLS = ['www.url1.com', 'www.url2.com'] 
data = {'param1':value}
for url in URLS:
    r = requests.post(url, data) 

但是获取 POST 请求是什么意思?

标签: pythonhttp

解决方案


你需要一个服务器来接收 POST 请求,我们称之为 Restful 请求。

Flask 是快速构建 python 服务器的工具之一。

import requests
from flask import Flask, request

HOST = '0.0.0.0'
PORT = 9000
URLS = ['www.url1.com', 'www.url2.com']

app = Flask(__name__)


@app.route('/post', methods=['POST'])
def receive_data():
    value = request.json
    data = {'param1': value}
    for url in URLS:
        r = requests.post(url, data)


if __name__ == '__main__':
    app.run(host=HOST, port=PORT, threaded=True)  # make your server receive the request in multiply threads

只需运行它并尝试通过邮递员或其他人向您的服务器发送一些东西。


推荐阅读