url在浏览器上返回XML,但在使用cURL

时间:2017-09-13 21:17:11

标签: php xml curl

我发送了一些参数,通过post使用CURL发送到url,url应该以XML格式返回结果,而是返回带有结果的字符串。

如果我复制url和我的变量并将其粘贴到浏览器中,它将返回所需的XML。

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $variables);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, false);
        $result = curl_exec($ch);
        $error = curl_error($ch);
        curl_close($ch);
        print_r($result);

这是我正在使用的代码段。我错过了什么吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

获取cURL返回的字符串并将其转换为XML对象

$xml = simplexml_load_string($result);

SimpleXML文档HERE

答案 1 :(得分:0)

尝试添加http标头:

curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-type: text/xml;charset=\"utf-8\"",
    "Accept: text/xml", 
]);