我有一个关于"请求"的问题python库。在这种情况下,我不能强迫它运作良好。 下面的代码运行良好(使用urllib3):
http = urllib3.PoolManager()
r = http.request(
'GET',
'https://api-live.exante.eu/md/1.0/feed/SVXY.ARCA',
preload_content=False,
headers={
'Authorization': 'Bearer ' + token,
'Accept': 'application/x-json-stream'
}
)
while True:
json_data = json.loads(r.readline())
....
....
如您所见,它是API - json-stream feed。现在让我们看看请求:
url = 'https://api-live.exante.eu/md/1.0/feed/SVXY.ARCA'
headers = {'Accept': 'application/x-json-stream'}
auth = ''
r = requests.get(url, headers=headers, auth = auth, stream=True)
for raw_rsvp in r.iter_lines():
if raw_rsvp:
json_data = json.loads(raw_rsvp)
代码" urllib3"在http-request之后立即收到第一行,并在http-session期间完美地工作。但代码与"请求"图书馆等了很久才拿到第一笔数据。似乎有任何缓冲区,库等待它填满。当数据接收频率很高时 - "请求"快速给我这些数据。但是,如果服务器每分钟给我发送3-5行,我会在收到它之前等待几分钟,然后通过"请求"库。
抱歉我的英文。希望能解决问题。
谢谢!