PHP 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 ответа
Этот URL не выглядит великолепно.
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 days of today"');
Используйте urlencode().
Попробуйте распечатать URL после объединения переменных. Затем вставьте URL в адресную строку вашего браузера и посмотрите, что получится. Поскольку это вызов веб-службы, ваш браузер может не знать, что делать с ответом. В этом случае вы можете получить дополнительную информацию, используя пользовательский агент командной строки "curl", например:
curl -v 'http: // some-url'
curl встроен в Mac и другие *nix-машины, а также доступен для Windows.