在询问大量数据时,Guzzle没有返回响应?

时间:2016-03-21 06:44:26

标签: php guzzle

我正在调用一个返回大量“数据点”的端点,然后将其绘制在图表上。当我要求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来设置它的方法?不知道这可能是问题还是别的什么?

1 个答案:

答案 0 :(得分:1)

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

否则,由于内存限制,您的脚本不会崩溃,检查php错误日志应该有助于查看是否是这种情况。

如果这是问题,则有不同的处理方式,具体取决于数据以及您想要用它做什么。

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

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