4

私は cURL を使用していくつかの API 呼び出しを行っていますが、今日まですべてが正常に機能していました。変更された唯一のことは、API が返す db にいくつかのコンテンツを追加したことです。興味深いことに、http_status は 200 ですが、応答は空です。さらに奇妙なのは、他のいくつかの呼び出しが機能することです。そのため、応答のサイズに何らかの形で関連していると思います。

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)。

だから私の質問は、何らかの形でサイズに関連していると推測しているので、これはどのサーバー設定が原因で、どのように許可された応答サイズを増やすことができますか?

4

0 に答える 0