我试图通过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>";
?>
答案 0 :(得分:0)
评论时,快速猜测(冗长的评论):
echo "<b>Response:</b><pre>".$output."</pre>";
这将输出未转义的XML。您的浏览器不会在浏览器窗口中显示任何内容,但您可以在查看页面源时看到一些内容。