400 with file_gets_contents() or curl_init()



大多数站点源都通过一个简单的请求打开,通常通过file_gets_contents()curl_init()打开。

我尝试了很多stream_context_create()curl_setopt()的组合,none返回了与400个坏请求不同的任何东西。

有没有解释为什么一些服务器站点(如https://phys.org/(不通过引用的方法返回源代码?

obs.:如果你能得到例子的来源(https://phys.org/(,使用file_gets_contents() or curl_init(),或任何其他带有php的方法,请发布代码,谢谢。

如果请求来自真实/允许的客户端(bot/user(,一些网站正在验证该请求
这可能有多种原因。

也许机器人正在发送许多请求,或者特定网站被阻止在付费墙/防火墙后面。但还有很多其他人比我更能向你解释

以下是他们如何做到这一点的一些已知例子:

某些站点正在支持具有API-令牌的请求
Google API就是一个很好的例子。

某些网站正在验证用户代理
您的示例站点似乎正在执行此操作
发送自定义用户代理标头时,结果返回错误。

当然,一些网站可以检查用户IP地址:(

我相信在你的例子中应该有一个好的解决方案来取得结果。

相关内容

  • 没有找到相关文章

最新更新