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 также имеется множество вопросов, касающихся этого варианта использования, например: