スポンサーリンク


上記の広告は一定期間更新のないブログに表示されます。新しい記事を書く事で広告が消す事ができます。

  

Posted by みやchan運営事務局 at

2013年10月15日

httpsのurlでfile_get_contents出来ない。。

PHPの関数「file_get_contents」でAPIを利用した情報を取得しようとしましたが、
対象が「https」で始まるurlの場合に、

file_get_contents('https://www.example,co,jp')

failed to open stream: HTTP request failed! HTTP/1.1 406 Not Acceptable

エラーが発生して、取得出来ませんでした。

まずは検索をして見て、

file_get_contentsでhttpsから始まる情報を取得できない

これかなぁという記事があったので、

php,iniのいじって、
allow_url_fopen = On
extension=php_openssl.dll

をやって見たのですが、全然ダメ...(´-ω-`)
そもそもエラー内容が違ったし...


完全に詰まったので、cURLを代用することに(^^;

$ch = curl_init();
curl_setopt_array($ch,
array(
CURLOPT_URL => 'https://www.example,co,jp',
CURLOPT_SSL_VERIFYPEER =>false,
CURLOPT_RETURNTRANSFER =>true,
)
);

$html = curl_exec($ch);
curl_close($ch);

無事取得出来ました(>_<)
SSL通信時サーバー証明書の検証が原因??

ちなみに、file_get_contentsでエラーで環境はPHP/5.3.8なのですが、
php/5.2.17の環境で行ったら、取得できました。。

  


Posted by wataru78 at 20:02Comments(0)php
このページの上へ