Coral CDNを使用してURLを読み込もうとしていますが、独自のコンテキストリソースを使用すると機能しませんでした。
<?php
$url = 'http://www.stackoverflow.com/';
echo substr(htmlentities(file_get_contents($url)),0,100); // works OK
echo '<hr />';
$url = 'http://www.stackoverflow.com.nyud.net/'; // CORAL content distribution network
echo substr(htmlentities(file_get_contents($url)),0,100); // works OK
echo '<hr />';
$options = array(
'http'=>array(
'method'=>"POST",
'header'=>
"Host: www.stackoverflow.com.nyud.net\r\n".
"Connection: keep-alive\r\n".
"Content-Length: 3\r\n".
"Cache-Control: max-age=0\r\n".
"Origin: http://www.stackoverflow.com.nyud.net\r\n".
"User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1\r\n".
"Content-Type: application/x-www-url-form-encoded\r\n".
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n".
"Accept-Encoding: gzip,deflate,sdch\r\n".
"Accept-Language: en-US,en;q=0.8\r\n".
"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3",
'content'=>'a=1'
));
$context = stream_context_create($options);
echo file_get_contents($url,false,$context); // 405 error?
?>
これは私が得る実際のエラーです:
警告:file_get_contents(http://www.stackoverflow.com.nyud.net/)[function.file-get-contents]:ストリームを開くことができませんでした:HTTPリクエストが失敗しました!C:\ ... \ lab \ php-exec \index.php(4)のHTTP / 1.0 405 : 29行目のeval()コード
curlが機能する可能性があることはわかっていますが、 file_get_contents()を使用するように主張していますが、この問題をどのように解決できると思いますか?
ありがとう!