Относительно "не удалось открыть поток: HTTP-запрос не выполнен! HTTP / 1.0 403 Forbidden" - PullRequest
0 голосов
/ 23 апреля 2020

Слышу, что я пытаюсь получить доступ к URL веб-сайта NSEIndia.com "https://www1.nseindia.com/live_market/dynaContent/live_watch/stock_watch/niftySmallcap50OnlineStockWatch.json".

это работает нормально, когда я открываю это в браузере, но не работает, когда я попробуйте открыть это, используя php file_get_contents.

Пожалуйста, помогите мне или предложите мне, что я должен попробовать другим способом, чтобы я получил вывод этого URL в моем коде.

$url = "https://www1.nseindia.com/live_market/dynaContent/live_watch/stock_watch/niftySmallcap50OnlineStockWatch.json";
echo file_get_contents( $url );
die;

Большое спасибо заранее.

1 Ответ

0 голосов
/ 23 апреля 2020

См. этот ответ для получения дополнительной информации

Обычно веб-сервер настроен таким образом, что блокирует запрос от file_get_contents.

Может быть, попробовать curl?

В связанном вопросе указан следующий код

    // create curl resource
$ch = curl_init();

// set url
curl_setopt($ch, CURLOPT_URL, "example.com");

//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

// $output contains the output string
$output = curl_exec($ch);

// close curl resource to free up system resources
curl_close($ch); 
...