Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP CURL 1个url,2个响应_Php_Curl - Fatal编程技术网

PHP CURL 1个url,2个响应

PHP CURL 1个url,2个响应,php,curl,Php,Curl,我正在使用供应商的API。他们在文件中指出: “…将为每个命令生成最多2条响应消息。第一条响应将是 确认消息,指示已接收并分析该消息。。。 第二个响应将指示命令的结果。某些命令可能需要一段时间才能完成,因此管理器不应期望立即响应命令。如果在执行命令期间发生错误,响应将包含错误消息。” 有没有办法让cURL等待第二个响应 $ch = curl_init('http://myserver.com');

我正在使用供应商的API。他们在文件中指出: “…将为每个命令生成最多2条响应消息。第一条响应将是 确认消息,指示已接收并分析该消息。。。 第二个响应将指示命令的结果。某些命令可能需要一段时间才能完成,因此管理器不应期望立即响应命令。如果在执行命令期间发生错误,响应将包含错误消息。”

有没有办法让cURL等待第二个响应

    $ch = curl_init('http://myserver.com');                                                                      
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, "XML=".$data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: plain/xml'));                                                                       

$result = curl_exec($ch);

听起来您需要等待并反复检查相同的URL,直到获得数据而不是状态消息。不是很理想。理想情况下,他们会让你传递一个URL,让他们在结果准备好时发回。

这似乎是我发送API时的错误,而不是响应。我已经修复了XML结构并收到了适当的响应。但是,我仍然认为文档编写得很差。

可以告诉我们是哪种API吗?另外,
$result
包含什么?也许这两条信息都在里面?我不确定一个API如何才能返回2个响应,否则就没有任何意义,它必须在
$result
否中。HTTP将只为每个请求生成一个响应。此API将包含封装在单个HTTP请求中的2个API响应,或者它们希望您每隔一段时间重新轮询。阅读他们的文档。我们不可能提供更多的信息,因为我们不知道您使用的是什么API,也无法查看它们的文档。这个API做什么样的通信?听起来不像肥皂。也许你发送了一个请求并关闭了连接,服务器随后会连接以给出响应?这是Cisco媒体处理器的控制API。答复中唯一的内容是: