単純な要件としてPHPを使用することを計画しています。 URLからXMLコンテンツをダウンロードする必要があります。そのためには、そのURLにHTTP GETリクエストを送信する必要があります。
どうやってPHPでやるの?
ファイルの内容だけでは足りない場合は、 file_get_contents
を使用できます。
$xml = file_get_contents("http://www.example.com/file.xml");
もっと複雑な場合は、 cURL を使用します。
より高度なGET/POSTリクエストについては、CURLライブラリをインストールすることができます( http://us3.php.net/curl )。
$ch = curl_init("REMOTE XML FILE URL GOES HERE"); // such as http://example.com/example.xml
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
http_get
がうまくいくはずです。 http_get
の利点 file_get_contents
には、HTTPヘッダーの表示、要求の詳細へのアクセス、および接続タイムアウトの制御が含まれます。
$response = http_get("http://www.example.com/file.xml");
プロキシを使用している場合は、PHPコードを少しトリックする必要があります。
(PROXY WITHOUT AUTENTICATION EXAMPLE)
<?php
$aContext = array(
'http' => array(
'proxy' => 'proxy:8080',
'request_fulluri' => true,
),
);
$cxContext = stream_context_create($aContext);
$sFile = file_get_contents("http://www.google.com", False, $cxContext);
echo $sFile;
?>
あなたのphp設定がURLのfopenを許可するかどうかに応じて、あなたは単に文字列のget引数でurlをfopenすることもできます( http://example.com?variable=value のように)
編集:質問を読み直す私はあなたが変数を渡すことを検討しているかどうかわからない - あなたがしていない場合あなたは単にfopen要求を含むことができます http://example.com/filename .xml - variable = valueの部分は無視してかまいません
一方、他のサーバーのREST APIを使用することはPHPで非常に人気があります。あるHTTPリクエストを他のサーバーにリダイレクトする方法を探しているとします(たとえば、xmlファイルを取得する)。これがあなたに役立つPHPパッケージです:
https://github.com/romanpitak/PHP-REST-Client
だから、xmlファイルを取得する:
$client = new Client('http://example.com');
$request = $client->newRequest('/filename.xml');
$response = $request->getResponse();
echo $response->getParsedResponse();
これにはfsockopenを使うのが好きです。
Guzzleは、あらゆる種類のHTTP呼び出しを非常に簡単に行えるようにする非常によく知られたライブラリです。 https://github.com/guzzle/guzzle を参照してください。 composer require guzzlehttp/guzzle
を使ってインストールし、composer install
を実行します。以下のコードは、http get呼び出しには十分です。
$client = new \GuzzleHttp\Client();
$response = $client->get('https://example.com/path/to/resource');
echo $response->getStatusCode();
echo $response->getBody();