Форум сообщества Clodo.ru: Clodo Api & PHP - Форум сообщества Clodo.ru

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Clodo Api & PHP

#1 Пользователь офлайн   RoMaN444Ik 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 351
  • Регистрация: 05 Март 11
  • ГородБарнаул

Отправлено 25 Октябрь 2011 - 07:40

Итак, я тут решил немножко под разобраться в clodo api и в последствии сделать небольшой скриптик, для своих нужд. Но я столкнулся со следующей проблемой:
Отправляю запрос на авторизацию через curl и включил отображение заголовков ответа(headers), они показываются в выводе, авторизация проходит, но как потом вытащить из ответа вашего сервера данные(токен и адрес для работы с api), может быть все-таки нужно отдавать эти данные в виде xml или json?

Заранее благодарен за помощь...
Подписываемся на мой twitter @nazarkin_roman
Мой блог beta
0

#2 Пользователь офлайн   dchusovitin 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 190
  • Регистрация: 20 Май 11
  • ГородМосква

Отправлено 25 Октябрь 2011 - 08:25

Просмотр сообщенияRoMaN444Ik (25 Октябрь 2011 - 07:40) писал:

Итак, я тут решил немножко под разобраться в clodo api и в последствии сделать небольшой скриптик, для своих нужд. Но я столкнулся со следующей проблемой:
Отправляю запрос на авторизацию через curl и включил отображение заголовков ответа(headers), они показываются в выводе, авторизация проходит, но как потом вытащить из ответа вашего сервера данные(токен и адрес для работы с api), может быть все-таки нужно отдавать эти данные в виде xml или json?

Заранее благодарен за помощь...

Простой пример:
<?php
$ch = curl_init(); 

curl_setopt( $ch, CURLOPT_URL, 'www.yandex.ru' );
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$c = curl_exec($ch); 

list($headers, $body) = preg_split("#\r\n\r\n#", $c, 2);
$headers = explode("\r\n", $headers);

var_dump(getHeader($headers, "Content-Type")); 

function getHeader(array $headers, $headerName) {
    foreach($headers as $header) {
        if(preg_match('#^' . $headerName . ':\s+(.*)$#', $header, $matches)) {
            return $matches[1];
        }
    }
}

Но будет гораздо легче, если использовать библиотеку для http-запросов, что-то вроде (Zend_Http_Client):
<?php
$url = '';
$requestHeaders = array();
$requestQuery = array();
$response = new \Zend\Http\ClientStatic::get($url, $requestQuery, $requestHeaders)->headers()->get('Header-Name');

0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей