为什么file_get_contents()返回“应用程序错误”?

时间:2011-07-25 11:15:45

标签: php web-services json

我有一个简单的代码:

$t = file_get_contents("http://sub.example.com/list?u=test&passw=12345");

如果我打印出该结果,我会收到“应用程序错误”文本。

我真的不明白原因,如果我尝试在浏览器上打开该网址,我会完全看到它。

返回“application / json”数据。

1 个答案:

答案 0 :(得分:2)

sub.example.com处的网络应用程序可能需要一些额外的输入,除了进入URL的内容(例如cookie),找不到此输入,并且输出错误。

在任何情况下,确定由(a)您的程序和(b)您的浏览器生成的HTTP请求相同,否则应用程序在两种情况下都会表现出相同的行为。< / p>

要调试此操作,您可以执行以下操作:

  • 重写代码以使用cURL代替file_get_contents,以便您可以指定HTTP代理
  • 安装Fiddler,一个出色的HTTP调试代理
  • 传递您的应用程序生成的HTTP请求,并通过浏览器通过Fiddler
  • 手动提供
  • 找出差异(您只需对请求进行文本比较),这将引导您找到答案