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.

Другие вопросы по тегам