Бочонок
http://frontender.info
Отправка файла Яндекс.Фотки с помощью CURL. 500 Ошибка.
Приятного времени суток.
Пытаюсь написать отправку изображения на Яндекс.Фотки.
Сделать это можно аш 2я методами:
http://api.yandex.ru/fotki/doc/operations-ref/album-photos-collection-create.xml
http://api.yandex.ru/fotki/doc/operations-ref/photo-create-via-post.xml
Написал код:
В результате отправил заголовки:
Опять уходят заголовки, точно соответствующие тем, которые в документации:
Подскажите, пожалуйста, что именно я делаю не так. Где я ошибся?
-~{}~ 05.03.10 03:20:
Мне уже явно пора спать. Я не туда загружал фото.
Тему можно закрывать.
Извините за дурацкий пост.
Приятного времени суток.
Пытаюсь написать отправку изображения на Яндекс.Фотки.
Сделать это можно аш 2я методами:
http://api.yandex.ru/fotki/doc/operations-ref/album-photos-collection-create.xml
http://api.yandex.ru/fotki/doc/operations-ref/photo-create-via-post.xml
Написал код:
PHP:
$photo = file_get_contents($path,FILE_BINARY);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->url);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $photo);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,array(
'Authorization: FimpToken realm="fotki.yandex.ru", token="'.$this->token.'"',
'Slug: '.basename($path),
'Content-Length: '.strlen($photo),
'Content-Type: '.$meta,
'Expect: ',
'Accept: '
));
echo $xml = curl_exec($curl);
echo curl_getinfo($curl,CURLINFO_HEADER_OUT);
curl_close($curl);
И полчил 500ю ошибку.POST /api/users/silentimp/photos/ HTTP/1.1
Host: api-fotki.yandex.ru
Authorization: FimpToken realm="fotki.yandex.ru", token="f4436cdeb9be2cdce35f2302cf3f1026"
Slug: freeman.jpg
Content-Length: 30784
Content-Type: image/jpeg
Ну ... что ж. Попробуем по другому.HTTP/1.1 500 Internal Server Error
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8
Date: Thu, 04 Mar 2010 19:34:13 GMT
Server: lighttpd/1.4.19
Upload failed
PHP:
$url = array("image"=>"@".realpath($path)."");
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->url);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,array(
'Authorization: FimpToken realm="fotki.yandex.ru", token="'.$this->token.'"',
'Accept: ',
'Expect: '
));
echo $xml = curl_exec($curl);
echo "
<br/>";
echo curl_getinfo($curl,CURLINFO_HEADER_OUT);
curl_close($curl);
И ответ опять ставит в тупик:POST /api/users/silentimp/photos/ HTTP/1.1
Host: api-fotki.yandex.ru
Authorization: FimpToken realm="fotki.yandex.ru", token="f4436cdeb9be2cdce35f2302cf3f1026"
Content-Length: 30582
Content-Type: multipart/form-data; boundary=----------------------------13e3c15eda87
Убедившись в том, что скрипт успешно выполняет отправку файла я загрустл.HTTP/1.1 500 Internal Server Error
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8
Date: Thu, 04 Mar 2010 23:05:40 GMT
Server: lighttpd/1.4.19
Upload failed
Подскажите, пожалуйста, что именно я делаю не так. Где я ошибся?
-~{}~ 05.03.10 03:20:
Мне уже явно пора спать. Я не туда загружал фото.
Тему можно закрывать.
Извините за дурацкий пост.