2016-10-26 9 views
0

似たようなトピックがあるが、同じではないことが分かっている。私は働くコードを持っていて、httpとhttpsのような多くの異なるURLでテストしましたが、何の問題もありません。次に、私はウェブサイトを見つけました...私はURLヘッダを尋ねるとき、私は空の配列答えを得ました。PHP get_headersとcurlの両方が空の結果を返す

get_headers("https://www.diversalertnetwork.org/diving-incidents/Divers-air-consumption-appeared-unbelievably-good", 1); 

結果はEMPTY配列です。

Array 
(
) 

私はCURLでも同じ結果を試しています。私はURLのコンテンツをダウンロードしようとしますが、何もしません。あなたはそれを試すことができます。驚き! https://からhttp://に変更すると、動作が開始されます。もちろん、httpsリンクはブラウザでうまく動作します。また、他のhttps://リンクで動作するget_headersもあります。 私は自分のブラウザのユーザエージェントを使ってcurlを使っているので、サーバがセキュリティ上の理由で検出しようとすると本当です。私は本当に何ができるのか、そして何が起こっているのか、どんな答えがないのか、何かエラーがないのか、何が重要なのか分かりません。

PHP 5.6

+0

ブラウザはそのサイトのHTTPS接続に関する警告:_ "このサイトへの接続が廃止されたプロトコルを使用しています(TLS 1.0)、 (RSA)と旧式の暗号(HMAC-SHA1を使用した3DES_EDE_CBC)」を使用しています。_したがって、旧式のセキュリティプロトコルのみをサポートするサイトとのHTTPS接続を無効にするのは、単純にシステム上にある可能性があります。あなたのPHPエラー報告が警告を表示するように正しく設定されていますか? – CBroe

+0

はい、そうです。 \t ini_set( "display_errors"、1); \t ini_set( "error_reporting"、E_ALL^E_NOTICE); とにかく私はリンクの前に(i)と私は情報を読むなら、緑がないと言った: 有効な証明書 このサイトへの接続は、有効で信頼できるサーバー証明書を使用しています。 –

+0

はい、細部を確認すると、引用したのと同じ警告メッセージが表示されます。そして、私にとっては、上記のコード行はうまく動作し、ヘッダーを返します。 – CBroe

答えて

0

私のブラウザがそのサイトのHTTPS接続に関する警告を示しています。

このサイトへの接続が廃止されたプロトコル(TLS 1.0)、廃止された鍵交換(RSA)、および使用しています(HMAC-SHA1を使用した3DES_EDE_CBC)。

したがって、古いセキュリティプロトコルのみをサポートするサイトとのHTTPS接続が無効になっていることがあります。 SSLに関するApacheのコンフィグ設定が関連している


、ここで見つけることができます:https://superuser.com/a/882651

関連する問題