请求大量数据时 Guzzle 不返回响应?

Guzzle not returning response when asking for large amount of data?

我正在调用一个 returns 很多 "datapoints" 的端点,然后将其绘制在图表上。当我要求 45 天的数据时它工作得很好,但当我检查它时,我得到一个空白结果。

我这样称呼它:

$client = new GuzzleHttp\Client();
$client->setDefaultOption('verify', false);
$result = $client->get($url.'/v2/device/1/datapoint/'.$startDateString.'/'.$endDateString.'/?api_key='.$APIKEY, 
    ['auth' =>  [$username, $password]],
    array( 
        'timeout'  => 500, 
        'connect_timeout' => 500
    )
);

如您所见,我的超时时间很长。这让我相信可能会遇到其他一些限制。例如,不允许响应大于特定大小。

但是我找不到使用 guzzle 进行设置的方法?知道这可能是问题所在还是其他原因?

如果出现任何问题,Guzzle 可能会抛出异常,所以当您请求大量数据时,您是否检查过服务器是否正确回复?

否则您的脚本因内存限制而崩溃的可能性不大,检查 php 错误日志应该有助于确定是否是这种情况。

如果这是问题所在,则有不同的处理方式,具体取决于数据和您要对其执行的操作。

Guzzle 支持为您提供数据流,这意味着它不会将整个数据加载到内存中,但可以一次为您提供一个块。

或者,您可能想向您的服务器发出几个较小的请求并合并结果。