1

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

当我更新网站时,我没有从我的 webhook 中收到任何信息。在 Superfeedr 的主订阅页面上,当我单击replay该 rss 提要时,我收到了对 webhook 的空 POST 和 GET 请求。如何正确配置我的 webhook 以便接收更新的 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/")
4

1 回答 1

1

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

请阅读这篇文章,其中解释了更多https://blog.superfeedr.com/http-raw-body/

于 2020-07-22T13:34:10.977 回答