Подключение класса JHttp

jimport( 'joomla.http.http' );
jimport( 'joomla.transport.curl' );


Для задействования этой структуры классов надо осуществить примерно следующее

     jimport( 'joomla.http.http' );
     jimport( 'joomla.transport.curl' );
        $opt = new JRegistry;
        $trans = new JHttpTransportCurl($opt);
        $http = new JHttp($opt,$trans);
        $response = $http->post("https://www.avangard.ru/iacq/h2h/reg",array('xml'=>$xml));
        $result = $response->body;

В Joomla у нас есть пакет Http для отправки HTTP-запроса, включая CURL. Но этот класс не может настроить некоторые опции, мы хотим, поэтому мы можем с помощью CurlHelper для обработки запроса наш обычай.

 

// Создать экземпляр объекта JHttp по умолчанию.
$http = new JHttp;

$options = new JRegistry;

$transport = new JHttpTransportStream($options);

// Создать 'потоковый' транспорт.
$http = new JHttp($options, $transport);

 

Или с помощью JHttpFactory

 

// Создать экземпляр объекта JHttp умолчанию.
$http = JHttpFactory::getHttp();

// Вызов HEAD-запроса.
$response = $http->head('http://example.com');

// Подготовка данных .
$data = array('make' => 'Holden', model => 'EJ-Special');

// Вызов запроса POST.
$response = $http->post('http://api.example.com/cars/1', $data);

// IВызов запроса  PUT.
$response = $http->put('http://api.example.com/cars/1', $data);

// Вызов запроса DELETE.
$response = $http->delete('http://api.example.com/cars/1');

 

Объект ответа

 

var_dump($response->code);

 

Код ответа содержится в свойстве «code». Смотреть http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

 

var_dump($response->headers);

 

Заголовки ответа включаются в качестве ассоциативного массива в свойстве «headers».

 

var_dump($response->body);

 

Тело ответа (не применимо для метода HEAD) включен в свойстве «body».