Web サービス 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 は実際にはこれを有用な方法で提示していません。