Converter curl para PHP
O curl2code converte comandos curl para código PHP usando a extensão cURL ou a biblioteca Guzzle. A conversão é executada no seu navegador via WebAssembly para total privacidade. Para linguagens de servidor semelhantes, confira nosso conversor de curl para Python ou curl para Ruby. Abaixo estão exemplos práticos de PHP.
Como copiar o curl do seu navegador
- 1
Abra o DevTools
Pressione F12 ou Ctrl+Shift+I para abrir as ferramentas de desenvolvedor do seu navegador.
- 2
Vá para a aba Network
Clique na aba Network e realize a ação que dispara a requisição HTTP.
- 3
Copiar como cURL
Clique com o botão direito na requisição → Copy → Copy as cURL. Depois cole acima.
Perguntas Frequentes
O que é o PHP cURL?
A extensão curl do PHP é um wrapper em torno da biblioteca C libcurl, fornecendo recursos poderosos de cliente HTTP. Ela suporta virtualmente todos os protocolos e recursos 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?
PHP cURL é de baixo nível e nativo — não requer Composer. Guzzle é o cliente HTTP PHP mais popular com suporte a PSR-7, middleware e requisições assíncronas. Requests oferece uma API simples para tarefas rápidas. Use Guzzle para projetos modernos, PHP cURL para configurações mínimas. Para opções semelhantes em outras linguagens, veja curl para Python.
Como lidar com 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 lida com 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 arquivos. O Guzzle usa a opção 'multipart' com arrays de campos/arquivos. O curl2code converte flags -F para o formato correto de cada variante de biblioteca PHP.
Como lidar com erros HTTP em PHP?
Com cURL: verifique curl_errno($ch) para erros de transporte e analise o status da resposta manualmente. O Guzzle lança RequestException em falhas — capture ClientException (4xx), ServerException (5xx) e ConnectException (rede). Sempre chame curl_close($ch) para liberar recursos.
Como fazer requisições HTTP assíncronas em PHP?
O Guzzle suporta assincronismo via $client->requestAsync('GET', $url) retornando uma Promise. Use Promise\Utils::all() para requisições concorrentes. Com cURL, use as funções curl_multi_* para execução paralela. Para PHP verdadeiramente assíncrono, considere os frameworks ReactPHP ou Amp com seus respectivos clientes HTTP.
Como definir timeouts em PHP?
Com cURL: CURLOPT_CONNECTTIMEOUT para a conexão e CURLOPT_TIMEOUT para o tempo total da requisição. O Guzzle aceita as opções 'connect_timeout' e 'timeout' em segundos. Estas 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 uma requisição POST com 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 usa curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)). O curl2code detecta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do cURL.
Como adicionar autorização com token Bearer em PHP?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do cURL com o cabeçalho de autenticação: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer TOKEN']). O curl2code detecta tokens Bearer tanto de flags -H "Authorization: Bearer ..." quanto de --oauth2-bearer. Para Basic auth, use -u user:pass.
Como definir o cabeçalho Content-Type em PHP?
O curl2code converte curl -H "Content-Type: application/json" URL para o código do cURL com o cabeçalho correto: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']). Para dados -d, o curl define por padrão application/x-www-form-urlencoded; para uploads de formulário com -F, ele usa multipart/form-data. O curl2code mapeia cada um para a API correta do cURL.
Extensão cURL do PHP vs Guzzle — qual devo usar?
A extensão cURL do PHP (funções curl_*) é nativa do PHP e não requer dependências extras — ideal para requisições simples ou quando você deseja o mínimo de sobrecarga. O Guzzle é um cliente HTTP completo com middleware, requisições assíncronas, suporte a PSR-7/PSR-18 e tentativas automáticas. Use cURL para scripts leves e Guzzle para aplicações complexas. O curl2code gera código para ambos — selecione sua variante preferida no menu suspenso de linguagens.