java 正在解析 http 流中的 json 条消息
java parsing json messages in http stream
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)
所以这是我们如何从 Python 中的 http 流获取数据的两个示例(我使用的是 3.6)
但是在 Java 中我似乎无法做到同样的事情,每次 google 搜索我都会得到服务器端流相关的结果或文件流上传作为结果。
我想编写与上面的 Python 代码等效的 Java 代码,但是在搜索 Java 时,http 流式搜索非常混乱,添加 "android" 时更糟搜索查询的关键字。
有谁知道如何完成上面 Python 代码的 Java 等效项?
如果你想监听传入的请求,首先你需要阅读消息文本,然后进行任何解析。
Java教程有一个典型的例子:
Whosebug 中也有很多问题处理这个用例,例如:
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)
所以这是我们如何从 Python 中的 http 流获取数据的两个示例(我使用的是 3.6)
但是在 Java 中我似乎无法做到同样的事情,每次 google 搜索我都会得到服务器端流相关的结果或文件流上传作为结果。 我想编写与上面的 Python 代码等效的 Java 代码,但是在搜索 Java 时,http 流式搜索非常混乱,添加 "android" 时更糟搜索查询的关键字。 有谁知道如何完成上面 Python 代码的 Java 等效项?
如果你想监听传入的请求,首先你需要阅读消息文本,然后进行任何解析。
Java教程有一个典型的例子:
Whosebug 中也有很多问题处理这个用例,例如: