PHP cURL似乎是缓存或其他东西

时间:2015-05-12 19:09:51

标签: php curl

基本上我有一个函数可以执行cURL执行到订单的api。我有一个订单ID数组,当我循环执行订单并调用函数时,我从cURL请求获得的响应是​​相同的。

基本上我传入变量1000并创建一个xml字符串。对于订单1000,cURL响应是正确的。然后循环中的下一个项目在1001中传递.Xml正确创建但响应仍然来自订单1000.我不知道为什么会发生这种情况。

1 个答案:

答案 0 :(得分:0)

没有贴出的代码不好。

知道你知道第二个请求有1000个数据会有所帮助。

我怀疑第二个请求有错误。

XML值仍然是1000?

foreach($orders as $number){

  $data = '';

  $ch = curl_init();
     ...
  $data = curl_exec($ch);

  if (curl_errno($ch)){
    $data .= 'Retreive Error: ' . curl_error($ch);
  }

}

一些故障排除cURL选项:

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 100);
curl_setopt($ch, CURLOPT_TIMEOUT,100);
curl_setopt($ch, CURLOPT_FAILONERROR,true);
curl_setopt($ch, CURLOPT_ENCODING,"");
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_HEADER, true);

获得结果

$data = curl_exec($ch);
$skip = intval(curl_getinfo($ch, CURLINFO_HEADER_SIZE)); 
$responseHeader = substr($data,0,$skip);
$info = curl_getinfo($ch);
$requestHeader = $info['request_header'];
$info = var_export($info,true);
echo "<pre>$requestHeader \n\n $responseHeader\n\n $info \n $data";