Python-запросы не работают на втором запросе get при работе с обратным вызовом обработчика потока - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь поиграть с Hacker News API, найденным здесь , особенно в разделе живых данных.

В настоящее время я пытаюсь распечатать ответ, который я получаю для каждого нового элемента, получаемого из /v0/maxitem API.

Ниже приведен код, который у меня сейчас есть:

import pyrebase
from config import config
import requests

firebase = pyrebase.initialize_app(config)
firebase_db = firebase.database()

_BASEURL_ = "https://hacker-news.firebaseio.com/v0/item/"

def print_response(id):
    headers = {"Content-Type": "application/json"}
    print(_BASEURL_ + str(id) + ".json")
    response = requests.get(_BASEURL_ + str(id) + ".json", headers=headers)
    print(response.content)


def new_post_handler(message):
    print(message["data"])
    print_response(message["data"])

my_stream = firebase_db.child("/v0/maxitem").stream(new_post_handler,
                                                    stream_id="new_posts")

Я могу получить правильный ответ при первом запуске requests.get. Но во второй раз я всегда получаю значение NULL для содержания ответа.

URL-адрес GET работает на почтальоне, но может получить там правильный ответ. Проблема, по-видимому, особенно связана с тем, как модуль requests обрабатывает URL-адрес во второй раз.

Любая помощь с благодарностью.

...