我在 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_receive 函数目前只打印数据。
有人知道为什么我只收到部分回复吗?我已经使用大量超时只是为了尝试解决这个问题,我最初没有指定任何超时但仍然收到此错误。
在pycurl中,你可以这样设置,
import pycurl
pycurl.CONTENT_LENGTH_DOWNLOAD
尝试使用
import Curl, pycurl
con = Curl()
con.set_option(pycurl.CONTENT_LENGTH_DOWNLOAD, 9999999999)
con.get('url' ....
也尝试以下直到它起作用:
pycurl.SIZE_DOWNLOAD
pycurl.REQUEST_SIZE
我是一名优秀的程序员,十分优秀!