基本上我有一个函数可以执行cURL执行到订单的api。我有一个订单ID数组,当我循环执行订单并调用函数时,我从cURL请求获得的响应是相同的。
基本上我传入变量1000并创建一个xml字符串。对于订单1000,cURL响应是正确的。然后循环中的下一个项目在1001中传递.Xml正确创建但响应仍然来自订单1000.我不知道为什么会发生这种情况。
答案 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";