Curl在PHP中返回的数据被截断

时间:2016-09-01 13:56:21

标签: php web-services curl

我正在尝试使用PHP的Curl扩展名调用Web服务。大多数情况下,web服务的结果恰好是4000字节,但并非总是如此。 如果我使用其他工具或Curl命令行工具来调用Web服务,则情况并非如此,因此问题可能仅限于php_curl。

我正在做以下事情:

    $fh = fopen($outfilename, "w");
    $c = curl_init();
    curl_setopt($c, CURLOPT_URL, $url);
    curl_setopt($c, CURLOPT_NOPROGRESS, 1);
    curl_setopt($c, CURLOPT_POSTFIELDS, $my_request_xml_data);
    curl_setopt($c, CURLOPT_HTTPHEADER, array("Content-Type" => "text/xml"));
    curl_setopt($c, CURLOPT_MAXREDIRS, 50);
    curl_setopt($c, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($c, CURLOPT_BINARYTRANSFER, 1);
    curl_setopt($c, CURLOPT_TCP_KEEPALIVE, 1);
    curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($c, CURLOPT_FILE, $fh);
    curl_setopt($c, CURLOPT_HEADER, 1);
    $ret = curl_exec($c);
// if $ret is false some error handling comes here...
    curl_close($c);
    fclose($fh);

有什么想法吗?

(我使用PHP 5.5.30和/或7.0.10,两个版本都有相同的问题)

0 个答案:

没有答案