Guzzle é um cliente PHP HTTP que facilita o envio de solicitações HTTP e facilita a integração com serviços da web.
Interface simples para construir strings de consulta, solicitações POST, streaming de grandes uploads, streaming de grandes downloads, uso de cookies HTTP, upload de dados JSON, etc...
Pode enviar solicitações síncronas e assíncronas usando a mesma interface.
Usa interfaces PSR-7 para solicitações, respostas e fluxos. Isso permite que você utilize outras bibliotecas compatíveis com PSR-7 com o Guzzle.
Suporta PSR-18 permitindo interoperabilidade entre outros clientes HTTP PSR-18.
Abstrai o transporte HTTP subjacente, permitindo que você escreva código independente de ambiente e transporte; ou seja, nenhuma dependência rígida de cURL, fluxos PHP, soquetes ou loops de eventos sem bloqueio.
O sistema de middleware permite aumentar e compor o comportamento do cliente.
$client = new GuzzleHttpClient();$response = $client->request('GET', 'https://api.github.com/repos/guzzle/guzzle');echo $response->getStatusCode(); // 200echo $response->getHeaderLine('content-type'); // 'aplicativo/json; charset=utf8'echo $response->getBody(); // '{"id": 1420053, "name": "guzzle", ...}'// Envie uma solicitação assíncrona.$request = new GuzzleHttpPsr7Request('GET', 'http://httpbin.org') ;$promise = $client->sendAsync($request)->then(function ($response) {echo 'Concluí! ' . $response->getBody(); });$promessa->espera();
Usamos problemas do GitHub apenas para discutir bugs e novos recursos. Para suporte, consulte:
Documentação
Estouro de pilha
#guzzle canal no PHP-HTTP Slack
Gitter
A forma recomendada de instalar o Guzzle é através do Composer.
compositor requer guzzlehttp/guzzle
Versão | Status | Empacotador | Espaço para nome | Repositório | Documentos | PSR-7 | Versão PHP |
---|---|---|---|---|---|---|---|
3.x | EOL (31/10/2016) | guzzle/guzzle | Guzzle | v3 | v3 | Não | >=5,3,3,<7,0 |
4.x | EOL (31/10/2016) | guzzlehttp/guzzle | GuzzleHttp | v4 | N / D | Não | >=5,4,<7,0 |
5.x | EOL (31/10/2019) | guzzlehttp/guzzle | GuzzleHttp | v5 | v5 | Não | >=5,4,<7,4 |
6.x | EOL (2023-10-31) | guzzlehttp/guzzle | GuzzleHttp | v6 | v6 | Sim | >=5,5,<8,0 |
7.x | Mais recente | guzzlehttp/guzzle | GuzzleHttp | v7 | v7 | Sim | >=7,2,5,<8,5 |
Se você descobrir uma vulnerabilidade de segurança neste pacote, envie um e-mail para [email protected]. Todas as vulnerabilidades de segurança serão prontamente resolvidas. Não divulgue publicamente problemas relacionados à segurança até que uma correção seja anunciada. Consulte a Política de Segurança para obter mais informações.
Guzzle é disponibilizado sob a licença MIT (MIT). Consulte Arquivo de licença para obter mais informações.
Disponível como parte da assinatura Tidelift
Os mantenedores do Guzzle e de milhares de outros pacotes estão trabalhando com o Tidelift para fornecer suporte comercial e manutenção para as dependências de código aberto que você usa para construir seus aplicativos. Economize tempo, reduza riscos e melhore a integridade do código, pagando aos mantenedores pelas dependências exatas que você usa. Saber mais.