最近、Hacker News API を調査中に HTTPS の問題に遭遇しました。すべての Hacker News API は、通常の HTTP プロトコルとは異なる暗号化された HTTPS プロトコルを通じてアクセスされるため、API で提供されるデータを取得するために PHP の関数 file_get_contents()
を使用すると、使用されるコードは次のとおりです:
上記のコードを実行すると、次のエラー メッセージが表示されます:
リーリー以下はスクリーンショットです:
このエラーはなぜ発生しますか?
インターネットで検索したところ、多くの人がこのエラーに遭遇していることがわかりました。これは、私のローカル マシンで有効なパラメータが存在しないためです。先頭のセミコロンを削除します。次のスクリプトを使用して、PHP 環境の構成を確認できます: /apache/bin/php.ini
里的 ;extension=php_openssl.dll
リーリー
リーリー
代替案
エラーを見つけて修正するのは非常に簡単です。難しいのは、エラーを見つけた後は修正できないことです。当初はこのスクリプト メソッドをリモート ホストに配置したかったのですが、リモート ホストの PHP 構成を変更できなかったので、このソリューションは使用できませんでしたが、ツリーにぶら下がっているわけにはいきません。この道はダメだ、他に方法はないのか?PHP でコンテンツをキャプチャするためによく使用するもう 1 つの関数は、
curl
です。これは よりも強力で、多くのオプションのパラメーターを提供します。 HTTPS
コンテンツへのアクセスの問題については、使用する必要がある CURL
設定パラメータは次のとおりです: curl
,它比 file_get_contents()
更强大,提供了很多的可选参数。对于访问 HTTPS
内容的问题,我们需要使用的 CURL
リーリー
以下は、HTTPS コンテンツにアクセスできる
によってカプセル化された関数です: Curl
リーリー