java-разбор json-сообщений в http-потоке

import aiohttp
import requests

listen_url = "https://somehttpstreamingurl"
headers = {"User-Agent": "stream client"}


async def async_listen():
    with aiohttp.ClientSession() as session:
        async with await session.get(url=listen_url, headers=headers) as r:
            while True:
                message = await r.content.readline()
                if message:
                    print(message)


def sync_listen():
    with requests.session() as session:
        r = session.send(requests.Request(method="GET", url=listen_url, headers=headers), stream=True)
        for message in r.iter_lines():
            if message:
                print(message)

Итак, это два примера того, как мы можем получить данные из потока http в Python (3.6 я использую)

Однако в Java я, кажется, не могу сделать то же самое, и при каждом поиске в Google я либо получаю результаты, связанные с потоковой передачей на сервере, либо загружаю потоковые файлы в качестве результатов. Я хотел бы написать Java-код, эквивалентный приведенному выше коду Python, но при поиске Java для потокового поиска HTTP довольно запутан, а еще хуже - при добавлении ключевого слова "android" в поисковый запрос. Кто-нибудь знает, как выполнить Java-эквивалент кода Python выше?

1 ответ

Решение

Если вы хотите прослушать входящие запросы, сначала вам нужно прочитать текст сообщения, а затем выполнить любой анализ.

Учебник по Java имеет типичный пример:

В Stackru также имеется множество вопросов, касающихся этого варианта использования, например:

Другие вопросы по тегам