小编Kek*_*lus的帖子

循环中的 cURL 请求有时根本不返回任何内容

问题:

我正在使用 PHP、cURL 和公共 API 来获取 json 字符串。这些 json 字符串的格式如下(简化,平均大小约为 50-60 kB):

{
   "data": {},
   "previous": "url",
   "next": "url"
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是通过检查“next”属性来获取从第一个开始的所有 json 字符串。所以我有一个 while 循环,只要有“next”属性,我就会获取下一个 URL。

问题是有时,循环在结束前随机停止,经过多次测试后我无法弄清楚原因。

我说是随机的,因为有时循环到最后并没有出现问题。有时它会在 N 次循环后崩溃。

到目前为止,我无法提取任何信息来帮助我调试它。

我正在使用 PHP 7.3.0 并从 CLI 启动我的代码。

到目前为止我尝试过的:

检查标题:

不返回标题。什么都没有。

使用 curl_errno() 和 curl_error():

我在执行请求 (curl_exec($ch)) 后立即尝试了以下代码,但它从未触发。

if(curl_errno($ch)) {
   echo 'curl error ' . curl_error($ch) . PHP_EOL;
   echo 'response received from curl error :' . PHP_EOL;
   var_dump($response); // the json string I should get from the server.
}
Run Code Online (Sandbox Code Playgroud)

检查响应是否返回 null: …

php error-handling json curl http

3
推荐指数
1
解决办法
832
查看次数

标签 统计

curl ×1

error-handling ×1

http ×1

json ×1

php ×1