无法使用 Django 接收对我的 webhook 设置的 RSS 更新。重播选项发送空 POST 和 GET 数据

Unable to receive RSS updates to my webhook setup using Django. Replay option sends empty POST and GET data

我正在尝试为 Django 设置 webhooks 并使用 Superfeedr.com 接收 webhooks。我正在使用他们提供的用于测试的 RSS 提要 link:http://push-pub.appspot.com/。您可以实时更新网站来测试您的webhook。

当我更新网站时,我没有从我的 webhook 收到任何信息。在 Superfeedr 的主订阅页面上,当我单击 replay 获取该 rss 提要时,我收到空的 POST 和对 webhook 的 GET 请求。如何正确配置我的网络钩子以便接收更新的 RSS 提要?

这是我的观点:

@csrf_exempt
@require_http_methods(["GET", "POST", ])
def daily_mtg_hook(request):

    print(request.GET)
    print(request.POST)
    challenge = request.GET.get("hub.challenge")
    topic = request.GET.get("hub.topic")

    return HttpResponse(challenge)

我使用以下选项订阅:

    def create_feed(topic):
        data = {
            'hub.mode': 'subscribe',
            'hub.topic': topic,
            'lang': 'en',
            'hub.callback': 'MY_CALLBACK_LINK',
            'hub.secret': 'SECRET',
            'hub.verify': 'sync',
            'format': 'json'
        }

        response = requests.post('https://push.superfeedr.com/', data=data, auth=('USERNAME', 'KEY'))

        print(response)


create_feed("http://push-pub.appspot.com/")

我是 Superfeedr 的创造者!我认为您遇到了 1 号挑战:解析 HTTP 正文。

请阅读此 post,其中解释更多 https://blog.superfeedr.com/http-raw-body/