获取状态为OK 200的空cURL响应

时间:2013-11-11 22:07:22

标签: php api curl

我正在使用cURL进行一些API调用,直到今天一切正常。唯一改变的是我已经向API返回的数据库中添加了一些内容。有趣的是,我得到了一个200的http_status,但响应是空的。更奇怪的是,其他一些调用确实有效,所以我的猜测是它与响应的大小有某种关系。

当从Postman这样的Web服务运行相同的请求时,我可以看到API实际上确实返回了数据,它只在服务器上,cURL返回空数组。

我发这样的cURL请求:

    $curl = curl_init(API_URL);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER,
          array("Content-type: application/json"));
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
    curl_setopt($curl,CURLOPT_TIMEOUT,10);

空响应的curl_getinfo返回如下内容:

Array
(
    [url] => api_url_to_which_im_sending
    [content_type] => application/json;charset=utf-8
    [http_code] => 200
    [header_size] => 157
    [request_size] => 219
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 0.656782
    [namelookup_time] => 3.9E-5
    [connect_time] => 0.121461
    [pretransfer_time] => 0.121504
    [size_upload] => 83
    [size_download] => 17355
    [speed_download] => 26424
    [speed_upload] => 126
    [download_content_length] => -1
    [upload_content_length] => 83
    [starttransfer_time] => 0.292595
    [redirect_time] => 0
    [certinfo] => Array
        (
        )

    [primary_ip] => someip
    [primary_port] => 80
    [local_ip] => someotherip
    [local_port] => someport
    [redirect_url] => 
)

实际返回一些数据的API调用唯一值得注意的差异是:

[size_download] => 17355
[speed_download] => 26424

线条,它们要小得多(300-800)。

所以我的问题是,因为我猜它在某种程度上与大小有关,哪种服务器设置对此负责,我怎样才能增加允许的响应大小?

0 个答案:

没有答案