发送带有空响应的POST请求

时间:2013-02-06 16:12:37

标签: php xml post curl

我试图通过CURL从我的API获得响应,该方法需要通过XML获取用户数据,而不是返回带有响应数据的XML。 我一无所获。 API运行良好,当我在PHP以外的地方尝试相同的请求时,它可以工作。我的API要求在application / xml Content-Type中发送数据。

任何想法我做错了什么?

<?php
    $request="https://api.mydomain.com/operation/v1/rest/xml/user/authenticate";
    $xml_data='<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
               <userCredentials>
                    <userName>name</userName>
                    <password>password</password>
               </userCredentials>';

    $ch = curl_init();
    //curl_setopt($ch, CURLOPT_MUTE, 1);
    curl_setopt($ch, CURLOPT_URL, $request);
    //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, "Content-type: application/xml");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);

    echo "<b>Request:</b> $request <br/>";
    echo "<b>Response:</b><pre>".$output."</pre>";
?>

1 个答案:

答案 0 :(得分:0)

评论时,快速猜测(冗长的评论):

echo "<b>Response:</b><pre>".$output."</pre>";

这将输出未转义的XML。您的浏览器不会在浏览器窗口中显示任何内容,但您可以在查看页面源时看到一些内容。