Converter curl para PHP
O curl2code converte comandos curl para código PHP utilizando a extensão cURL ou a biblioteca Guzzle. A conversão é executada no seu navegador através de WebAssembly para total privacidade. Para linguagens de lado do servidor semelhantes, consulte o nosso conversor de curl para Python ou curl para Ruby. Abaixo encontram-se exemplos práticos de PHP.
Como copiar o curl do seu navegador
- 1
Abrir as DevTools
Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.
- 2
Ir para o separador Network
Clique no separador Network e realize a ação que despoleta o pedido HTTP.
- 3
Copiar como cURL
Clique com o botão direito no pedido → Copy → Copy as cURL. Depois cole-o acima.
Perguntas Frequentes
O que é o cURL do PHP?
A extensão curl do PHP é um wrapper em torno da biblioteca C libcurl, fornecendo capacidades poderosas de cliente HTTP. Suporta virtualmente todos os protocolos e funcionalidades que o próprio curl suporta. Inicialize com curl_init(), defina opções com curl_setopt() e execute com curl_exec(). O curl2code também suporta Guzzle e Requests como alternativas.
PHP cURL vs Guzzle vs Requests — qual devo usar?
O PHP cURL é de baixo nível e integrado — não é necessário o Composer. O Guzzle é o cliente HTTP mais popular para PHP com suporte para PSR-7, middleware e pedidos assíncronos. O Requests oferece uma API simples para tarefas rápidas. Use o Guzzle para projetos modernos, PHP cURL para configurações mínimas. Para opções semelhantes noutras linguagens, consulte curl para Python.
Como gerir a autenticação em PHP?
Com cURL: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer token']). Para autenticação Basic: curl_setopt($ch, CURLOPT_USERPWD, 'user:pass'). O Guzzle usa 'auth' => ['user', 'pass'] ou 'headers' => ['Authorization' => 'Bearer token']. O curl2code gere as flags -u e Bearer automaticamente.
Como enviar dados de formulário multipart em PHP?
Com cURL: passe um array para CURLOPT_POSTFIELDS contendo new CURLFile('path') para ficheiros. O Guzzle usa a opção 'multipart' com arrays de campos/ficheiros. O curl2code converte as flags -F para o formato correto para cada variante de biblioteca PHP.
Como gerir erros HTTP em PHP?
Com cURL: verifique curl_errno($ch) para erros de transporte e analise o estado da resposta manualmente. O Guzzle lança RequestException em falhas — capture ClientException (4xx), ServerException (5xx) e ConnectException (rede). Chame sempre curl_close($ch) para libertar recursos.
Como fazer pedidos HTTP assíncronos em PHP?
O Guzzle suporta assincronismo através de $client->requestAsync('GET', $url) devolvendo uma Promise. Use Promise\Utils::all() para pedidos concorrentes. Com cURL, use as funções curl_multi_* para execução paralela. Para PHP verdadeiramente assíncrono, considere as frameworks ReactPHP ou Amp com os seus clientes HTTP.
Como definir timeouts em PHP?
Com cURL: CURLOPT_CONNECTTIMEOUT para a ligação e CURLOPT_TIMEOUT para o tempo total do pedido. O Guzzle aceita 'connect_timeout' e 'timeout' em segundos. Estes mapeiam diretamente para as opções --connect-timeout e --max-time do curl.
Como usar um proxy em PHP?
Com cURL: curl_setopt($ch, CURLOPT_PROXY, 'http://proxy:8080'). Para SOCKS5: adicione CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5. O Guzzle usa a opção 'proxy' => 'http://proxy:8080'. O curl2code converte as flags -x e --proxy para o código PHP correspondente.
Como enviar um pedido POST com um corpo JSON em PHP?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para PHP usando o curl2code. O código gerado utiliza curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)). O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código cURL.
Como adicionar autorização com token Bearer em PHP?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código cURL com o cabeçalho de autenticação: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer TOKEN']). O curl2code deteta tokens Bearer tanto de flags -H "Authorization: Bearer ..." como de --oauth2-bearer. Para Basic auth, utilize -u user:pass.
Como definir o cabeçalho Content-Type em PHP?
O curl2code converte curl -H "Content-Type: application/json" URL para código cURL com o cabeçalho correto: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']). Para dados -d, o curl assume por defeito application/x-www-form-urlencoded; para envios de formulários -F, utiliza multipart/form-data. O curl2code mapeia cada um para a API cURL correta.
Extensão PHP cURL vs Guzzle — qual devo utilizar?
A extensão PHP cURL (funções curl_*) está integrada no PHP e não requer dependências extra — ideal para pedidos simples ou quando se pretende o mínimo de sobrecarga. O Guzzle é um cliente HTTP completo com middleware, pedidos assíncronos, suporte PSR-7/PSR-18 e tentativas automáticas. Utilize cURL para scripts leves, Guzzle para aplicações complexas. O curl2code gera código para ambos — selecione a sua variante preferida no menu de linguagens.
Links Úteis
Guias do curl
Códigos de erro do curl
Consulte qualquer código de saída do curl — causas, correções e dicas de depuração.
Transferir ficheiros com curl
Guarde ficheiros com -o, -O, siga redirecionamentos, retome transferências e mais.
SSL, TLS e proxy
Configure certificados, versões TLS, proxies HTTP/SOCKS e DNS personalizado.