###前提・実現したいこと
httpsのサイトからhttpの外部サーバAPIを実行し、jsonでデータ取得を行いたい。
当初ajaxでAPIを実行し、取得を試みましたがSSLからhttpの通信ができないことがわかり、一旦自サーバのAPIをコールし、そのPHP内で外部サーバ(http)のAPIを実行させようと思っています。
###発生している問題・エラーメッセージ
httpsからhttpのAPIを実行すると、
エラーメッセージ Mixed Content: The page at 'https://...' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://...
が返され、サーバ側(PHP)から直接file_get_contentsで外部APIを実行すると、
エラーメッセージ failed to open stream: HTTP request failed!
が返されます。
なんらかの方法でhttpsサイトからhttpの外部APIは実行できないのでしょうか?
###該当のソースコード
PHP
1$base_url = "http://..."; 2 3// エラーの場合も取得する設定にする(なしでもダメでした。) 4$context = stream_context_create(array( 5 'ssl' => array( 6 'verify_peer' => false, 7 'verify_peer_name' => false, 8 ) 9)); 10 11$response = file_get_contents($base_url.'?prm=1', false, $context); 12 13// 結果はjson形式で返されるので 14$result = json_decode($response, true);
###補足情報(言語/FW/ツール等のバージョンなど)
PHP5.1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/08 10:30
2016/09/08 10:32
2016/09/08 10:36
2016/09/08 10:39
2016/09/08 10:41
2016/09/08 11:03