【问题标题】:Why is cloudflare blocking my api request为什么 cloudflare 阻止了我的 api 请求
【发布时间】:2016-04-15 21:48:39
【问题描述】:

我正在尝试访问在浏览器中运行良好的 api https://api.btcxindia.com/order_book/,但是当我尝试使用 file_get_contents 或 curl 访问它时,我收到了错误 520,有人能说出原因吗?

试过

echo file_get_contents('https://api.btcxindia.com/order_book/'); 

还有

curl 'https://api.btcxindia.com/order_book/' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: en-US,en;q=0.5' -H 'Connection: keep-alive' -H 'Host: api.btcxindia.com' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0'

两者都不起作用。

【问题讨论】:

  • 我的浏览器也出现 520 错误。
  • 是的,这里也一样。 “错误 520 (...) Web 服务器返回未知错误 (...) 网站离线”

标签: php api curl cloudflare


【解决方案1】:

这不是 CloudFlare 阻止您的请求。相反,它是 CloudFlare 通知您您尝试访问的 API 处于脱机状态。这可能是由于所有者的 DNS 配置错误或他们的服务器/主机已关闭。

如果您拥有该网站,您可能需要确认您的网站在线或 DNS 配置正确。如果您不拥有此网站,则无能为力,只能等待,或者如果您已经知道他们的联系方式,请联系网络管理员。

编辑:在 cmets 中讨论后,该网站似乎存在某种请求类型或某些客户端的配置错误。这很可能是导致您的错误的原因,并且很可能是 Web 服务器错误。

问候

【讨论】:

  • 由于我可以在浏览器中访问 api,我假设服务器在线,我想我弄乱了 cloudflare 的一些标头,但无法弄清楚。
  • @ak111in 当您在浏览器中访问它时,您看到的是 CloudFlare 的一个页面,告诉您他们的主服务器处于离线状态。自己手动访问或使用其他状态检查器网站显示它处于离线状态。
  • 当我在浏览器中打开 api 链接而不是 cloudflare 错误页面时,我得到了预期的数据。 imgur.com/rfOi3Wy
  • @ak111in 很有趣。其他几个堆栈溢出用户和外部服务报告无法连接。有你的问题。 Web 服务器配置有问题,不允许某些类型的请求继续。这可能是阻止您的 API 请求以及导致其他用户和我的连接问题的原因。我建议就这个问题联系管理 API 的人。
  • 我已经尝试联系他们,但他们说他们没有问题。无论如何感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2020-09-05
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-17
  • 1970-01-01
相关资源
最近更新 更多