1

fopen を使用して URL のコンテンツを取得しています。http URL では機能しますが、https URL では機能しません

誰でも理由を見ることができますか??

<?php

//this works fine
echo ("<br><br>url 1 is ".OutputURL("http://nuenergy.acornsoftware.com.au/staff/interface/index.php"));

//returns nothing
echo ("<br><br>url 2 is ".OutputURL("https://nuenergy.acornsoftware.com.au/staff/interface/index.php"));

function OutputURL($url)
{
  $handle = fopen($url, "r");
  $contents = stream_get_contents($handle);
  fclose($handle);
  return $contents;
}
//
?>
4

3 に答える 3

5

OpenSSL をインストールして PHP で構成する必要があります。これについてはServerFaultで質問することをお勧めします。

file_get_contents()また、代わりに使用することもできますOutputURL()

于 2010-01-11T06:49:06.080 に答える
2

問題は、PHP が HTTPS に対して何も返さないことではなく、ファイルの HTTPS バージョンに対して何も出力しないことです。HTTP バージョンを表示すると、ある種の「ファイルが見つかりません」エラーを表す小さな XML ダイアグラムが出力されます。ファイルの HTTPS 形式を表示すると、空白のページが返され、ソース コードにコンテンツがまったく含まれていません。Apache の設定を調べて、すべてのファイルを正しく指していることを確認する必要があります。

于 2010-01-11T06:38:52.053 に答える
0

apache/php の設定で fopen 経由の https がサポートされていないか、サーバーのファイアウォールがこのタイプの接続をブロックしている可能性があります。

于 2010-01-11T06:39:54.823 に答える