xml ファイルを送信してキャッチするための 2 つの php スクリプトがあります。私はcURLを使用していますが、すべて問題ありませんでした。今、私は同じことをしようとしていますが、HTTP over SSL (HTTPS) を使用しています。XAMPP を使用してローカル サーバーをインストールし、次の投稿に従って SSL をセットアップしました:ローカル xampp/Apache サーバーで SSL をセットアップします。
私はこのようにxmlファイルを送信しようとしています:
<?php
/*
* XML Sender/Client.
*/
// Get our XML. You can declare it here or even load a file.
$xml = file_get_contents("data.xml");
// We send XML via CURL using POST with a http header of text/xml.
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");
//i use this line only for debugging through fiddler. Must delete after done with debugging.
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "https://ipv4.fiddler/iPM/receiver.php");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_REFERER, 'https://ipv4.fiddler/iPM/receiver.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$ch_result = curl_exec($ch);
echo "Result = ".$ch_result;
curl_close($ch);
// Print CURL result.
?>
ここからcURLの新しい証明書をダウンロードしました:
http://curl.haxx.se/ca/cacert.pem
証明書をどこに置くべきかわかりませんが、このプロジェクトのワークスペース ディレクトリに置きました。
ここでの問題は、XML ファイルが受信者に送信されないことです。何か案は?