【问题标题】:Can i retrieve information from external website when i'm on an intranet using php function file_get_contents?当我在 Intranet 上使用 php 函数 file_get_contents 时,我可以从外部网站检索信息吗?
【发布时间】:2011-12-02 08:04:34
【问题描述】:

我正在尝试使用 file_get_contents 和 curl 从 Intranet 检索外部网站的信息,但不幸的是我无法获取数据,我已要求系统管理员授予我访问特定网站 facebook.com 的权限当我直接在地址栏中输入网址时,我可以打开网页,但现在当我想通过我的内部网访问它时,它给了我一个错误

An error occured while fetching the URI. Please retry.

我的代码是

 $url = 'http://www.facebook.com';
 //curl script to get content of given url
 $ch = curl_init();
 // set the target url
 curl_setopt($ch, CURLOPT_URL,$url);
 // request as if Firefox
 curl_setopt($ch, CURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/5.0 (Windows; U;   Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15") ); 
 curl_setopt($ch, CURLOPT_NOBODY, false);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 $result= curl_exec ($ch); 
 curl_close ($ch);

Facebook 已在我们的防火墙上被阻止,但我认为既然我可以直接从浏览器访问,我应该能够访问它,但似乎防火墙没有看到我发送的请求,是请求可能是由内网 IP 地址发送的?有可能吗?

【问题讨论】:

  • 电脑里的php脚本可以访问facebook吗?请求是由解析 php 的服务器发送的,而不是由用户导航发送的
  • 自内部网 4 以来,我认为服务器无法与外部世界进行交互,但我不确定是我发送请求还是服务器正在发送请求。感谢您强调那个,现在我必须和系统管理员战斗.. :(

标签: php facebook curl httpwebrequest file-get-contents


【解决方案1】:

我已要求系统管理员授予我访问该特定站点的权限

“我”还是“我的脚本”?

当我想通过我的 Intranet 访问它时

这是什么意思 - “通过我的 Intranet”?
你不是已经在 Intranet 中了吗,即使“直接在地址栏中输入 url”?

无论如何,您仍然需要询问您的系统管理员,而不是 stackoverflow 上的人员。我们无法控制您的 Intranet 防火墙

【讨论】:

  • 不用对我这么苛刻,我是程序员而不是系统管理员或网络专家,所以这让我有点困惑是什么发出了请求
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-31
  • 1970-01-01
  • 2021-09-07
  • 1970-01-01
  • 2013-01-07
  • 2010-11-14
  • 1970-01-01
相关资源
最近更新 更多