Может кто знает как корректно отправить Atom Entry в API Я.Фотки из PHP?

AlexVenga
На сайте с 10.04.2007
Offline
190
775

Пишу код чтобы создать новый альбом (ну или править данные), но не могу понять как отправлять средствами PHP Atom Entry. Вот мой код:


$socket = fsockopen('api-fotki.yandex.ru', 80, $errno, $errstr, 30);
//если fsockopen вернула false, то завершаем работу скрипта и выводим текст и номер ошибки
if(!$socket)die("$errstr($errno)");
$post="POST http://api-fotki.yandex.ru/api/users/USER/albums/ HTTP/1.1\r\n";
$post.="Host: api-fotki.yandex.ru\r\n";
//теперь отправляем заголовки
$post.=("Content-type: application/atom+xml; charset=utf-8; type=entry\r\n");
$post.=("Authorization: FimpToken realm=\"fotki.yandex.ru\", token=\"TOKEN\"\r\n");
$post.=("\r\n");

// Формируем запрос
$post.=("<entry xmlns=\"http://www.w3.org/2005/Atom\" xmlns:f=\"yandex:fotki\">\r\n");
$post.=("\t<title>Название Альбома</title>\r\n");
$post.=("\t<summary>Описание альбома</summary>\r\n");
$post.=("</entry>\r\n");

fwrite($socket,$post);

//теперь читаем и выводим ответ
$answer = $temp=fgets($socket, 4096);
if ( $answer != "HTTP/1.1 201 CREATED\r\n")
die($answer);

Ответ всегда получаю один и тот же - "HTTP/1.1 400 BAD REQUEST".

Объясните как этот самый Atom Entry после заголовка передать корректно?

Заранее спасибо)

AlexVenga добавил 06.04.2011 в 13:49

По идее надо отправить всего то 4 строчки

http://api.yandex.ru/fotki/doc/operations-ref/albums-collection-create.xml

AlexVenga добавил 06.04.2011 в 15:30

О сам разобрался, в заголовке просто надо передавать ещё и сколько данных отправляешь.

Антикризисное предложение: [Бурж, AdSense] [NEW] Сайты - каталоги компаний с гарантией трафа [Дорого] (/ru/forum/1006462)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий