pycurl只得到了部分响应

2024-09-25 18:13:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中使用pycurl请求一个URL,该URL返回一个相当大的json格式的响应。当我进入浏览器中的URL时,我看到了全部内容,但是如果我使用pycurl并打印接收到的数据,那么我只看到浏览到URL时看到的内容的一半左右,并且使用json库解析数据时会出现一个错误,说明:

ValueError: Unterminated string starting at: line 1 column 16078 (char 16078)

pycurl请求如下:

conn = pycurl.Curl()
conn.setopt(pycurl.URL, myUrl)
conn.setopt(pycurl.WRITEFUNCTION, on_receive)
conn.setopt(pycurl.CONNECTTIMEOUT, 30)
conn.setopt(pycurl.TIMEOUT, 30)
conn.setopt(pycurl.NOSIGNAL, 10)
conn.perform()

使用on峎uReceive功能,当前只打印数据。在

有人知道为什么我只得到部分回应吗?我使用了大量的超时来解决这个问题,我最初没有指定任何超时,但仍然得到这个错误。在


Tags: 数据jsonurl内容on格式错误浏览器
2条回答

您可以尝试使用curl工具访问这些json数据。
当您能够获得数据时,只需将curl选项转换为pycurl选项。在

curl  help | less 

在pycurl中,你可以设置这个

import pycurl
pycurl.CONTENT_LENGTH_DOWNLOAD 

尝试使用

^{pr2}$

同时尝试以下操作:

pycurl.SIZE_DOWNLOAD
pycurl.REQUEST_SIZE 

相关问题 更多 >