php卷曲响应随机空白

php卷曲响应随机空白,php,networking,curl,Php,Networking,Curl,我们正在用curl实现api。 我们发送xml请求并获得xml响应。 有些病例我们没有收到任何反应。 当我们和api提供商协调时,他们告诉我们,在出现空白响应的情况下,不会在服务器上点击请求 我们将如何知道,它不会在api提供程序服务器上命中。 有任何标题响应吗?您可以得到curl error和errorno。使用此选项 var_dump(curl_errno($ch)); var_dump(curl_error($ch)); 您需要添加一些代码来处理响应 我不知道你的代码是什么样子,但它可能

我们正在用curl实现api。 我们发送xml请求并获得xml响应。 有些病例我们没有收到任何反应。 当我们和api提供商协调时,他们告诉我们,在出现空白响应的情况下,不会在服务器上点击请求

我们将如何知道,它不会在api提供程序服务器上命中。
有任何标题响应吗?

您可以得到curl error和errorno。使用此选项

var_dump(curl_errno($ch));
var_dump(curl_error($ch));

您需要添加一些代码来处理响应 我不知道你的代码是什么样子,但它可能就这么简单

// add this line before curl_exec
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  

$response = curl_exec($curl);

$status = curl_getinfo($curl);
// do this before closing curl connection
curl_close($curl);  
下面是关于curl_getinfo的更多细节

添加到卷曲查询:

curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl将更加冗长

curl_getinfo($ch);

也可以提供帮助

一些疑难解答选项:

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);
if (curl_errno($ch)){
    $data .= 'Retreive Base Page Error: ' . curl_error($ch);
}
else {
$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";
$data=curl\u exec($ch);
if(旋度误差($ch)){
$data.='retrieve Base Page Error:'。curl_Error($ch);
}
否则{
$skip=intval(curl\u getinfo($ch,CURLINFO\u HEADER\u SIZE));
$responseHeader=substr($data,0,$skip);
$info=curl\u getinfo($ch);
$requestHeader=$info['request_header'];
$info=var_导出($info,true);
echo“$requestHeader\n\n$responseHeader\n\n$info\n$data”;

使用Wireshark之类的数据包嗅探器工具查看是否有流量流出,然后还可以查看是否出现ACK backcurl\u错误和currl\u errno,如果errno!=0,则保存它并查看结果happens@jaques很抱歉,我们无法在服务器级别进行管理。我们正在日志中添加此内容。