かなり大きなjson形式の応答を返すURLにpycurlを使用してPythonでリクエストを作成しています。ブラウザで URL に移動するとコンテンツ全体が表示されますが、pycurl を使用して受信したデータを印刷すると、URL を参照したときに表示される内容の約半分しか表示されず、次を使用してデータを解析するとエラーが発生します次のように述べているjsonライブラリ:
ValueError: 行 1 列 16078 (文字 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 関数は現在データを印刷しているだけです。
応答の一部しか得られない理由を誰かが知っていますか? これを解決するためだけに大規模なタイムアウトを使用しました。最初はタイムアウトを指定していませんでしたが、まだこのエラーが発生していました。