php file_get_contents return 404 - PullRequest
       8

php file_get_contents return 404

2 голосов
/ 06 августа 2011

С помощью следующего php-кода

$url = "http://ichart.finance.yahoo.com/table.csv?s=EURUSD%3DX&a=6&b=27&c=2011&d=7&e=05&f=2011&g=d&ignore=.csv";
$this->trace("Geting from: $url");
$raw_quote_data = file_get_contents($url);

yahoo.com возвращает ошибку 404, но URL-адрес правильный и работает в моем интернет-браузере.

Я также попытался установитьзаголовок с пользовательским агентом с помощью stream_context_create, но не работает.

Может быть, проблема моего хостинга (000webhost) и Yahoo заблокировать его?

1 Ответ

3 голосов
/ 06 августа 2011

Используйте функцию Curl. Она отлично работает для меня.

<?php

$url = "http://ichart.finance.yahoo.com/table.csv?s=EURUSD%3DX&a=6&b=27&c=2011&d=7&e=05&f=2011&g=d&ignore=.csv";
$process = curl_init($url); 
curl_setopt($process, CURLOPT_HEADER, 0); 
curl_setopt($process, CURLOPT_POST, 1); 
curl_setopt($process, CURLOPT_RETURNTRANSFER,1);
curl_setopt($process,CURLOPT_CONNECTTIMEOUT,1);
$response = curl_exec($process); 
curl_close($process); 

echo $response;
?>

Вывод, который я получил:

Date,Open,High,Low,Close,Volume,Adj Close 2011-08-04,1.43,1.43,1.43,1.43,000,1.43 2011-08-03,1.43,1.43,1.43,1.43,000,1.43 2011-08-02,1.42,1.42,1.42,1.42,000,1.42 2011-08-01,1.44,1.44,1.44,1.44,000,1.44 2011-07-29,1.42,1.42,1.42,1.42,000,1.42 2011-07-28,1.43,1.43,1.43,1.43,000,1.43 2011-07-27,1.45,1.45,1.45,1.45,000,1.45
...