PHP file_get_contents问题

时间:2011-03-06 16:42:06

标签: php httprequest file-get-contents

我遇到了PHP的file_get_contents命令问题。

$url = "http://api.rememberthemilk.com/services/rest/".$format.$auth_token.$filter."&api_sig=".$md5.$apikey.$method;

$content = file_get_contents($url);

$array = json_decode($content, true);
$taskname = $array['rsp']['tasks']['list']['taskseries']['name'];
$duedate = $array['rsp']['tasks']['list']['taskseries']['task']['due'];

($ format,$ auth_token,$ filter,$ md5,$ apikey,$ method已在脚本中定义)

当我尝试运行此代码时,会返回此错误:

  

[function.file-get-contents]:无法打开流:HTTP请求失败! HTTP / 1.1 400对第101行的错误请求

     

第101行= $ content,= file_get_contents($ url);

如何解决这个问题?感谢!!!

2 个答案:

答案 0 :(得分:2)

此网址看起来不太好。

http://api.rememberthemilk.com/services/rest/?format=json&auth_token=AUTH_TOKEN& filter = dueWithin:“今天3天”& api_sig = API_SIG& api_key = API_KEY& method = rtm.tasks.getList

对令牌进行编码,如下所示:

$ filter ='filter ='。urlencode('dueWithin:“今天3天”');

使用urlencode()。

答案 1 :(得分:0)

连接变量后尝试打印URL。然后将URL粘贴到浏览器的地址栏中,查看返回的内容。因为它是一个Web服务调用,您的浏览器可能不知道如何处理响应。在这种情况下,您可以使用命令行用户代理“curl”获取其他信息,例如

curl -v'http:// some-url'

curl内置于Mac和其他* nix机器中,也适用于Windows。