关于“打开流失败: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”的主要内容,如果未能解决你的问题,请参考以下文章