关于“打开流失败:HTTP 请求失败!HTTP/1.0 403 Forbidden”

Posted

技术标签:

【中文标题】关于“打开流失败:HTTP 请求失败!HTTP/1.0 403 Forbidden”【英文标题】:Regarding "failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden" 【发布时间】:2020-08-06 22:49:43 【问题描述】:

听说我正在尝试访问 NSEIndia.com 网站 URL“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】:

更多信息请参见this 回答

基本上,网络服务器的配置方式会阻止来自 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); 

【讨论】:

以上是关于关于“打开流失败:HTTP 请求失败!HTTP/1.0 403 Forbidden”的主要内容,如果未能解决你的问题,请参考以下文章

再聊面试,这次关于钱,关于培训,关于内卷

关于数学,关于年少的感动,关于初心

scrapy 关于 rule, 关于多页

JS学习笔记关于选项卡,关于this,关于innerHTML

关于唯典冰淇淋新闻页的布局

关于prototype.js的一些技术说明