0
クライアントがWSDLをローカルで解決できないため動作しないSOAPクライアントが動作していません。これをデバッグするために私は以下のスクリプトを作成しました。file_get_contentsとcURLは同じスクリプトで全く異なるコンテンツを返します
curl呼び出しに正しい応答があり、file_get_contentsの応答がまったく異なります。最初は私はこれがDNSの問題だと思っていましたが、カールコールもその場合に間違った応答を返さなければなりません。
根本的な原因は何でしょうか?
<?php
function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
var_dump(get_data("http://example.com")); // right response
var_dump(file_get_contents("http://example.com"); // wrong response
このケースでは「全く違う」ものを定義することができない場合、これは答えにくいと思うし、いくつかの例が役に立ちます。 –
curl variantは、要求されたURLのブラウザ出力と同じです。 file_get_contents呼び出しは 'このドメインは予約されています'というページを返します –
あなたが使用しているURLは同じです、あなたはそれらを比較して真実などを得ることができます。何も考えていない... –