我正在尝试使用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,两个版本都有相同的问题)