PHP CURL 1个网址,2个回复

时间:2014-05-12 19:29:05

标签: php curl

我正在使用供应商的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);

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:-1)

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