Peticiones HTTP con php usando Guzzle
¿Qué es Guzzle?
Guzzle es un cliente HTTP PHP que hace que sea fácil de enviar solicitudes HTTP para la integración con servicios web.
- Interfaz sencilla para la construcción de cadenas de consulta, las peticiones POST, la transmisión de grandes archivos, streaming de descargas de gran tamaño, el uso de cookies HTTP, la carga de datos JSON, etc …
- Puede enviar ambas peticiones síncronas y asíncronas utilizando la misma interfaz.
- Utiliza PSR-7 interfaces para peticiones, respuestas y arroyos. Esto le permite utilizar otros PSR-7 bibliotecas compatibles con Guzzle.
- Los resúmenes de distancia del transporte HTTP subyacente, lo que le permite escribir código de medio ambiente y transporte agnóstico; es decir, ninguna dependencia duro en cURL, PHP arroyos, tomas de corriente, o no bloqueo bucles de eventos.
- sistema de middleware le permite aumentar y componer el comportamiento del cliente.
Instalación
Puede descargarlo directamente desde su repositorio en github. En este caso voy a utilizar composer.
Instalamos composer.
curl -sS https://getcomposer.org/installer | php |
Luego ejecutamos.
php composer.phar require guzzlehttp/guzzle |
Metodo GET
Creamos un archivo llamado peticion.php
set_time_limit(0); date_default_timezone_set('America/Lima'); require("vendor/autoload.php"); $client = new GuzzleHttp\Client(); $response = $client->request('GET', "http://localhost/api/v1",[ 'exceptions' => false, // Para que no muestre Excepciones //'verify' => false, //si no deseas verificar certificado. //'verify' => './cacert.pem', //si deseas verificar certificado. //'auth' => array('user', 'pass'), 'headers' => [ 'User-Agent' => 'testing/1.0', 'Accept' => 'application/json', 'X-Foo' => ['Bar', 'Baz'] ] ]); $response->getStatusCode(); // devuelve el Código de estado HTTP $response->getBody(); // Devuelve el contenido de la respuesta. |
Metodo POST
set_time_limit(0); date_default_timezone_set('America/Lima'); require("vendor/autoload.php"); $client = new GuzzleHttp\Client(); $response = $client->request('POST', 'http://localhost/api/v1', [ 'form_params' => [ 'field_name' => 'abc', 'other_field' => '123', 'nested_field' => [ 'nested' => 'hello' ] ] ]); |
Todos los métodos
$response = $client->get('http://localhost/api/v1/get'); $response = $client->delete('http://localhost/api/v1/delete'); $response = $client->head('http://localhost/api/v1/get'); $response = $client->options('http://localhost/api/v1/get'); $response = $client->patch('http://localhost/api/v1/patch'); $response = $client->post('http://localhost/api/v1/post'); $response = $client->put('http://localhost/api/v1/put'); |
Articulos Relacionados
(Visited 4.666 times, 1 visits today)