【问题标题】:Browser loads the page but CURL/file_get_contents redirects浏览器加载页面但 CURL/file_get_contents 重定向
【发布时间】:2018-03-13 19:53:02
【问题描述】:

我使用这个页面来获取当前的货币换算: http://finance.google.co.uk/finance/converter?a=1&from=EUR&to=GBP

使用 file_get_contents 已经运行了一年多,但突然停止工作。

然后我尝试 curl 并显示以下内容: 302 搬家了 文档已移至此处。

为什么 url 在浏览器中可以正常工作,但在 file_get_contents 或 curl 中不能正常工作?

当我在浏览器中加载页面时,url 不会重定向或类似的东西。

谢谢

【问题讨论】:

  • 这似乎适用于file_get_contents,刚刚检查过
  • @AlexYokisama 感谢您的回复。当我尝试 file_get_contents 时,我收到错误消息:警告:file_get_contents(finance.google.com/finance/…): failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in(也与我在原始帖子中提供的 url 相同)
  • 这很奇怪。我所做的只是var_dump(file_get_contents("https://finance.google.com/finance/converter?a=1&from=USD&to=GBP"));,我得到它没有麻烦。你不是在你的服务器上改变了什么吗?也许一些设置或类似的东西?
  • @AlexYokisama 很奇怪,我尝试时只是收到错误消息。

标签: php curl file-get-contents google-finance


【解决方案1】:

Google 似乎更改了他们的网址/端点。

改用此 Google Finance Endpoint:

https://finance.google.com/finance/converter?a=1&from=EUR&to=GBP

编辑: 302 moved... The document has moved here 也可能是由恶意软件感染引起的。您可以在这里找到更多信息: https://productforums.google.com/forum/#!topic/websearch/hvkhGWCfNsE

【讨论】:

  • 感谢您的回复。我用 file_get_contents 和 CURL 尝试了你建议的 url,结果相同。
  • onlinecurl.com 你可以使用这个在线工具来测试你的 curl 命令。试一试,效果不错!
  • 我刚刚用恶意软件字节扫描了我的笔记本电脑,但没有检测到任何恶意软件。 hosts文件是空的,正常吗?我最近买了一台新笔记本电脑,另一台上的主机文件有很多不同的条目,我不记得默认主机文件是什么样子的。我已经尝试过您提供的网站,它运行良好,只是无法在我的笔记本电脑或服务器上运行的 curl 脚本中运行。
  • @DanielOrmerod 您的新笔记本电脑的操作系统是什么?你的服务器操作系统和 PHP 版本是什么?
  • 笔记本电脑上的操作系统是 Windows 10(在我的旧笔记本电脑上也一样)。服务器操作系统为linux,php版本为5.6.24。
【解决方案2】:

使用 curl,您可以通过以下方式告诉它自动跟踪重定向:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

这是否是一个安全的选择是一个完全独立的话题。

【讨论】:

  • 感谢您的回答。在我问这个问题之前,我尝试过使用它。设置跟随位置会将页面重定向到不存在的finance.google.com/search?q=finance
  • @DanielOrmerod Strange,file_get_contents( 'http://finance.google.co.uk/finance/converter?a=1&from=EUR&to=GBP ') 对我来说没问题; PHP 5.2 到 7.2。您的计算机和 Google 之间的某些事情正在发出重定向。可能的罪魁祸首包括但不限于防病毒、防火墙、病毒、路由器、网站拦截器、您的 ISP、VPN、代理等...
  • 谢谢,我会调查重定向的可能原因。
【解决方案3】:

report 的人们在使用 Google 金融货币转换器页面时遇到问题,例如 http://finance.google.com/finance/converter?a=1&from=USD&to=EUR。我还没有从谷歌找到任何关于此的官方通知。然而,known 是 Google 最近(2017 年 11 月)改造了他们的整个 Google 财经

我们将停用原始 Google 财经的一些功能

Google 很有可能会更新货币转换器端点或完全停止使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多