V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
andi
V2EX  ›  程序员

技术求助:如何获取 Webhook URL 被 POST 的内容(json)到 Python 保存

  •  
  •   andi · 4 天前 · 1062 次点击
    技术求助:如何获取 Webhook URL 被 POST 的内容(json)到 python 保存

    1.背景:
    目标网站 A 提供了一个服务:某个信息更新后,目标网站 A 就会把此 更新消息 POST 到 设置的 Webhook URL 上
    已经按照 流程 在 postman 上生成了一个 Webhook URL ,并填入 目标网站 A
    信息更新后,目标网站 A 网页端确实看到信息有更新.

    2.需要做的:
    目前,就是不知道 如何保存每次 POST 的信息到 python 中 (POST 到 Webhook URL 的信息, 是 json)
    (就是使用哪些命令,获取到 保存这个信息,因为程序其他部分 需要这个 信息,获取每次 POST 到 Webhook_URL 的 内容,下面的程序才能进行).

    3.请各位技术大佬 不吝赐教,谢谢!如果可以带关键代码 那就最好了.

    postman 上生成的 Webhook_URL
    Webhook_URL = 'https://***.mock.pstmn.io'
    11 条回复    2024-09-15 17:24:36 +08:00
    airyland
        1
    airyland  
       4 天前
    没看明白问题。不要用 mock ,把 webhook 改为你服务器不就可以保存了。
    YadongZhang
        2
    YadongZhang  
       3 天前 via iPhone
    每次 POST 的信息 - req.body
    保存- 应该存到数据库,语言 js python 都行
    sagaxu
        3
    sagaxu  
       3 天前
    除非 postman 的服务器提供相关 API ,或者自己爬虫抓。否则获取不了,你得有自己的 webserver 。
    yinmin
        4
    yinmin  
       3 天前 via iPhone
    python fastapi 或者 python flask 写一个 web 服务
    Puteulanus
        5
    Puteulanus  
       3 天前
    你这个需要的应该是云函数,同时接入(云函数支持的)数据储存服务
    写两个接口,一个按照 A 网站要求的格式接受 webhook 请求并储存,一个用来给 Python 拉取储存的数据
    SenLief
        6
    SenLief  
       3 天前
    你用 python 启用一个 http server 就可以了,让 webhook post 到 server 上,不就能处理 request 信息了。
    tomczhen
        7
    tomczhen  
       3 天前
    xy 问题
    taolu12138
        8
    taolu12138  
       3 天前
    处理服务回调 第一部先缓存到本地文件或者数据库里 之后你可以复制这个文本去测试
    比如一些支付的回执 短信的回执
    GeekGao
        9
    GeekGao  
       3 天前
    使用 Flask 框架创建简单 HTTP 服务器并处理 Webhook 请求的例子:
    ```
    from flask import Flask, request, jsonify
    import json

    app = Flask(__name__)

    @app.route('/webhook', methods=['POST']) # 根据需要更改路由
    def webhook():
    # 获取请求体中的 JSON 数据
    data = request.get_json()
    # 将数据保存到文件中
    with open('webhook_data.json', 'w') as f:
    json.dump(data, f)

    # 返回成功响应
    return jsonify({'status': 'success'}), 200

    if __name__ == '__main__':
    app.run(debug=True)

    ```
    z1829909
        10
    z1829909  
       3 天前 via Android
    先看 postman 是否支持,不支持自己搭一个 http server 来接收请求,最好不要依赖 postman ,仅仅把他当一个工具就行了。
    如果对延迟不敏感,对方支持查询 api ,那就批量轮询,这是最稳定的方式,主动权也在自己这边。
    doggg
        11
    doggg  
       3 天前
    1. 如果你需要调试工具而已的话,请使用这个网站给你提供的调试用的 url https://webhook.site/
    2. 如果你只是咨询如何在 api 里把 request body 保存起来,检查换关键字检索 google

    最近关注到一个项目是做 Webhooks Gateway ,能帮你做可靠性投递 https://github.com/webhookx-io/webhookx
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5601 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:42 · PVG 09:42 · LAX 18:42 · JFK 21:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.