PHP cURL HTTP GET XML формат
У меня есть приложение, которое имеет RESTful API веб-служб. Когда я делаю HTTP GET запросы в браузере, я получаю ответы XML обратно.
Когда я делаю тот же запрос с использованием PHP, я получаю правильную информацию, но она не отформатирована в XML, и поэтому я не могу передать ее в Simple XML.
Вот мой код
<?php
//Deifne user credentials to use with requests
$user = "user";
$passwd = "user";
//Define header array for cURL requestes
$header = array('Contect-Type:application/xml', 'Accept:application/xml');
//Define base URL
$url = 'http://192.168.0.100:8080/root/restful/';
//Define http request nouns
$ls = $url . "landscapes";
//Initialise cURL object
$ch = curl_init();
//Set cURL options
curl_setopt_array($ch, array(
CURLOPT_HTTPHEADER => $header, //Set http header options
CURLOPT_URL => $ls, //URL sent as part of the request
CURLOPT_HTTPAUTH => CURLAUTH_BASIC, //Set Authentication to BASIC
CURLOPT_USERPWD => $user . ":" . $passwd, //Set username and password options
CURLOPT_HTTPGET => TRUE //Set cURL to GET method
));
//Define variable to hold the returned data from the cURL request
$data = curl_exec($ch);
//Close cURL connection
curl_close($ch);
//Print results
print_r($data);
?>
Любые мысли или предложения будут действительно полезны.
S
РЕДАКТИРОВАТЬ:
Вот ответ, который я получаю из кода PHP:
0x100000rhel-mlsptrue9.2.3.0101
Это ответ, если я использую WizTools Rest Client или браузер.
<?xml version="1.0" encoding="UTF-16"?>
<landscape-response total-landscapes="1" xmlns="http://www.url.com/root/restful/schema/response">
<landscape>
<id>0x100000</id>
<name>rhel-mlsp</name>
<isPrimary>true</isPrimary>
<version>9.2.3.010</version>
</landscape>
</landscape-response>
Как вы можете видеть, информация есть, но PHP на самом деле не представляет ее в полезной форме.