我正在尝试在php中使用curl从我自己的Web服务器中获取页面。页面非常简单,只有一些纯文本输出。但是,它返回'null'。我可以使用它在其他域和我自己的服务器上成功检索其他页面。我可以在浏览器中看到它就好了,我可以用命令行wget抓住它就好了,只是当我尝试用curl抓住那个特定的页面时,它只是出现了null。我们无法使用file_get_contents,因为我们的主机已将其禁用。
为什么世界会发生这种不同的行为?
答案 0 :(得分:2)
发现了这个问题。我把我的网址放在了一个不在curl_init()中的地方,那个地方正在截断查询字符串。一旦我将它移回curl_init,它就有效了。
答案 1 :(得分:1)
尝试setting curl的用户代理。有时主机会通过阻止wget或curl之类的东西阻止“机器人” - 但通常他们只是通过检查用户代理来做到这一点。
答案 2 :(得分:1)
您应该检查curl_error()
的输出,并查看http服务器的日志文件。