---
title: "Pedido GET com curl em PHP"
slug: curl-get-request-with-php
date: 2023-11-22T11:46:30+00:00
modified: 2025-09-16T16:41:38+00:00
permalink: https://brightdata.com.br/blog/procedimentos/curl-get-request-with-php
type: blog
---

[ Blog ](https://brightdata.com.br/blog "Blog") / [procedimentos](https://brightdata.com.br/blog/procedimentos)







 [procedimentos](https://brightdata.com.br/blog/procedimentos)

# Pedido GET com curl em PHP

Guia de pedidos get com cURL em PHP. Saiba mais sobre o pedido GET e como implementar um pedido GET com curl em PHP.

 4 min de leitura





 [ ![](https://media.brightdata.com.br/2023/08/Kevin-Kimani-50x50.png) ](https://brightdata.com/blog/authors/kevin-kimani)

 [Kevin Kimani

 ](https://brightdata.com/blog/authors/kevin-kimani)





 ![curl GET Request with PHP](https://media.brightdata.com.br/2023/11/curl-GET-Request-with-PHP.svg)





[curl](https://curl.se/) é uma ferramenta de linha de comando e uma biblioteca utilizada para transferir dados com URLs. No contexto do desenvolvimento web, curl permite aos usuários fazer pedidos e interagir com vários recursos da Internet, como sítios web e APIs, diretamente a partir da linha de comandos ou através de scripts.

curl suporta uma vasta gama de protocolos, incluindo HTTP, HTTPS, FTP e FTPS, o que o torna incrivelmente versátil para tarefas como transferências de ficheiros, recuperação de dados e integração de API. A capacidade de curl para lidar com operações complexas e enviar diferentes tipos de pedidos a tornou uma ferramenta indispensável, permitindo uma comunicação perfeita entre aplicações e servidores remotos. A sua flexibilidade e facilidade de utilização tornam-no um componente fundamental nos fluxos de trabalho de desenvolvimento web modernos.

Os pedidos GET são um componente crucial na comunicação web, concebidos para recuperar informações ou dados de um recurso específico num servidor web. Neste tutorial, você aprenderá como usar curl para fazer um pedido GET com PHP.

## ## O que é um pedido GET

Um pedido GET é um método HTTP concebido para obter informações ou dados de um recurso específico num servidor web. Por exemplo, quando introduz um URL no seu navegador web e carrega enter, está a desencadear um pedido GET. O navegador faz um pedido GET ao servidor e devolve uma página web que é apresentada no navegador.

O objetivo de um pedido GET é pedir ao servidor um determinado recurso, quer se trate de uma página HTML, de uma imagem, de um documento ou mesmo de dados de uma API. A simplicidade do pedido GET reside no seu método; é uma operação idempotente, o que significa que não deve alterar o estado do servidor ou o recurso que está a ser pedido. Um pedido GET é apenas de leitura e, normalmente, não envolve o envio de dados ou a realização de alterações no servidor; a sua principal função é a recuperação de dados.

Os pedidos GET também suportam a anexação de pares de valor-chave, conhecidos como parâmetros de consulta, ao URL. Os parâmetros de consulta permitem-lhe especificar exatamente o que pretende. Por exemplo, quando se pesquisa algo num motor de busca, a consulta introduzida é passada como uma série de parâmetros num pedido GET para o servidor do motor de busca. O servidor processa estes parâmetros, obtém os resultados de pesquisa relevantes e envia-os de volta como resposta, que é depois apresentada no seu navegador web.

É importante notar que, como os pedidos GET expõem os dados no URL, não são adequados para enviar informações sensíveis ou confidenciais, uma vez que os parâmetros são visíveis para qualquer pessoa que possa ver o URL.

## ## Implementar um pedido GET com curl em PHP

Nesta seção, aprenderá como inicializar sessões curl, definir o URL e outras opções específicas, definir parâmetros específicos, enviar pedidos para recursos remotos e tratar as respostas nas suas aplicações PHP.

Para continuar, precisa de se certificar de que a sua versão de PHP tem suporte para curl. A maioria das instalações modernas de PHP vem com curl habilitado por padrão, mas é sempre uma boa ideia verificar se você o tem. Pode confirmar a sua versão e configuração de PHP utilizando a função`phpinfo()`. Para isso, crie uma pasta chamada `php-curl` e, nela, crie um ficheiro chamado `info.php`. Cole o seguinte código no ficheiro:

```none
<?php
phpinfo();

```

No seu terminal, execute o comando `php -S localhost:8000` e navegue para `http://localhost:8000/info.php` no seu navegador. Na página web resultante, desloque-se para baixo até à secção **curl** e confirme que o suporte curl esteja ativado:

![Implementar um pedido GET com curl em PHP](https://media.brightdata.com/2023/11/ofxNIVD-1024x800.png)Depois de confirmar que curl está ativado e antes de inicializar uma sessão curl, tem de criar um ficheiro chamado `curl.php` na pasta raiz do seu projeto. Em seguida, adicione o seguinte código ao seu novo ficheiro `curl.php`:

```none
<?php
$ch = curl_init();

```

Isto inicia uma sessão curl usando a função `curl_init()`. Esta função [inicializa uma nova sessão curl](https://www.php.net/manual/en/class.curlhandle.php) e devolve uma instância de identificador de curl, uma ferramenta crucial para outras operações com curl, como definir opções e enviar pedidos.

### ### Definir o URL e outras opções

A configuração das opções de curl, incluindo a definição do URL, é uma parte crucial da realização de pedidos HTTP usando curl em PHP. Estabelece a base do pedido HTTP, determinando o servidor de destino, o tipo de pedido que está a ser feito (GET, POST, etc.) e qualquer autenticação ou parâmetros necessários.

PHP fornece a função [`curl_setopt()`](https://www.php.net/manual/en/function.cURL-setopt.php) que facilita a definição de várias opções para um identificador de sessão em curl, e permite que você personalize o comportamento do pedido curl especificando diferentes parâmetros e valores.

A função `curl_setopt()` tem a forma `curl_setopt(CurlHandle $handle, int $option, mixed $value)`. `$handle` é o identificador retornado pela função `curl_init()`; `$option` representa a opção específica que você quer definir; e `$value` representa o valor que você quer definir para a opção especificada.

Para definir o URL, adicione o seguinte código ao ficheiro `curl.php`:

```none
$url = "https://dummyjson.com/products";
curl_setopt($ch, CURLOPT_URL, $url);

```

Este código utiliza a função `curl_setopt()` para definir a opção URL para o identificador de sessão em curl. `CURLOPT_URL` é uma constante que significa a opção de definir o URL para o pedido curl.

Agora, vamos explorar algumas outras opções que podem ser configuradas.

Para definir a opção curl para uma experiência de pedido HTTP mais controlada, adicione o seguinte código ao ficheiro `curl.php`:

```none
// Set a timeout for the cURL request
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// return the response from the server as a string instead of outputting it directly
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// avoid following redirects, if any
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);

```

Neste código, `CURLOPT_TIMEOUT` é configurado com um valor de `30`, definindo um tempo máximo de execução de trinta segundos para o pedido curl. Isto garante que, se o pedido demorar mais de trinta segundos, o tempo limite será atingido, evitando esperas prolongadas.

`CURLOPT_RETURNTRANSFER` é definido como `true`, instruindo o curl a devolver a resposta do servidor como uma cadeia em vez de a mostrar diretamente. Isto permite-lhe capturar e manipular os dados de resposta dentro do script PHP.

Por último, `CURLOPT_FOLLOWLOCATION` é definido como `false`, indicando que curl não deve seguir automaticamente os redireccionamentos HTTP. Ao desativar o redireccionamento automático, o script mantém o controlo sobre o fluxo do pedido, permitindo o tratamento personalizado das respostas de redireccionamento.

Pode obter mais informações sobre outras opções que pode configurar na [documentação de PHP](https://www.php.net/manual/en/function.cURL-setopt.php).

### ### Executar o pedido GET

Para executar o pedido e ver a resposta, adicione o seguinte código ao ficheiro `curl.php`:

```none
// Execute the cURL request and capture the response
$response = curl_exec($ch);
// Check for cURL errors
if (curl_errno($ch)) {
   echo 'Curl error: ' . curl_error($ch);
} else {
   // Decode JSON response if it is a JSON string
   $decodedResponse = json_decode($response, true);
   // Check if decoding was successful
   if ($decodedResponse !== null) {
       // Output the JSON response to the UI
       header('Content-Type: application/json');
       echo json_encode($decodedResponse, JSON_PRETTY_PRINT);
   } else {
       // If the response is not valid JSON, echo it as plain text
       echo $response;
   }
}
// Close cURL session
curl_close($ch);

```

Em seguida, navegue para `http://localhost:8000/curl.php` no seu navegador e, quando a página for carregada, deverá obter um conjunto de produtos em formato JSON:

![Executar o pedido GET](https://media.brightdata.com/2023/11/YrN4gHl-1024x854.png)### Enviar um pedido GET com parâmetros

Para especificar parâmetros no URL, adicione o seguinte código abaixo `$url = "https://dummyjson.com/products";`:

```none
// Query parameters
$params = [
   'limit' => 2
];

// Construct the complete URL with query parameters
$url .= '?' . http_build_query($params);

```

Neste código, define `"https://dummyjson.com/products"` como o URL de base. Em seguida, define um parâmetro de consulta chamado limit com um valor de `2` numa matriz associativa chamada $params. Para incorporar este parâmetro no URL, utiliza a função `http_build_query($params)`, que converte a matriz associativa numa cadeia de consulta codificada pelo URL. A cadeia de consulta resultante é concatenada ao URL original utilizando um ponto de interrogação, criando um URL completo com o parâmetro de consulta especificado. O URL resultante tem o seguinte aspeto: `"https://dummyjson.com/products?limit=2"`.

Para testar isto, navegue para `http://localhost:8000/curl.php` no seu navegador e volte a carregar a página. Deverá obter uma matriz com apenas dois produtos no formato JSON:

![Enviar um pedido GET com parâmetros](https://media.brightdata.com/2023/11/5G2sJIr-1024x854.png)## Conclusão

Neste artigo, você aprendeu como fazer pedidos GET usando curl em PHP. Compreender os fundamentos de um pedido GET constitui a base para um intercâmbio de dados simplificado.

Utilizando várias opções de curl, os programadores podem personalizar os seus pedidos GET, assegurando um controlo preciso dos tempos limite, gerindo redireccionamentos e recebendo respostas como cadeias de caracteres para posterior manipulação. Esta flexibilidade permite que os programadores afinem as suas interações com os servidores web e garante uma recuperação de dados eficiente e adaptada.

Para saber mais sobre como usar curl, confira[ este guia de uso de curl com Python](https://brightdata.com.br/blog/procedimentos/curl-with-python) e [este tutorial de uso de curl com proxies](https://brightdata.com.br/blog/procedimentos/curl-with-python).



Contate-nosTeste grátis![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Índice







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Pedido+GET+com+curl+em+PHP&u=https://brightdata.com.br/blog/procedimentos/curl-get-request-with-php) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Pedido+GET+com+curl+em+PHP&url=https://brightdata.com.br/blog/procedimentos/curl-get-request-with-php) [ ](http://www.reddit.com/submit?title=Pedido+GET+com+curl+em+PHP&url=https://brightdata.com.br/blog/procedimentos/curl-get-request-with-php)







##  Você também pode estar interessado em

 [ ![curl GET Request with PHP](https://media.brightdata.com.br/2023/11/curl-GET-Request-with-PHP.svg) ](https://brightdata.com.br/blog/procedimentos/curl-get-request-with-php "Pedido GET com curl em PHP")

 [procedimentos



 ![](https://media.brightdata.com.br/2023/08/Kevin-Kimani-50x50.png)

Kevin Kimani





### Pedido GET com curl em PHP

Guia de pedidos get com cURL em PHP. Saiba mais sobre o pedido GET e como implementar um pedido GET com curl em PHP.



 22-Nov-2023

 4 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/curl-get-request-with-php)

 [ ![How To Set a Proxy in Superagent](https://media.brightdata.com.br/2023/11/How-To-Set-a-Proxy-in-Superagent.svg) ](https://brightdata.com.br/blog/procedimentos/superagent-proxy "Como configurar um proxy no SuperAgent")

 [procedimentos



 ![Man with beard smiling, wearing black shirt.](https://media.brightdata.com.br/2021/07/avivb-50x50.png)

Aviv Besinsky





### Como configurar um proxy no SuperAgent

Aprenda a configurar um proxy no SuperAgent neste tutorial passo a passo



 22-Nov-2023

 11 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/superagent-proxy)

 [ ![Guide to using cURL with Python](https://media.brightdata.com.br/2023/04/Guide-to-Using-cURL-with-Python.svg) ](https://brightdata.com.br/blog/procedimentos/curl-with-python "Guia para usar cURL com Python")

 [procedimentos



 ![](https://media.brightdata.com.br/2023/04/Roel-Peters-50x50.png)

Roel Peters





### Guia para usar cURL com Python

Neste artigo, aprenderá como o Python e o cURL podem ser utilizados em conjunto para automatizar pedidos GET, POST e PUT, e para descarregar ficheiros e páginas web.



 13-Apr-2023

 13 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/curl-with-python)
