Skip to main content
 首页 » 编程设计

python之pycurl 只得到部分响应

2025年05月04日14mq0036

我在 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