Converter curl para Julia
O curl2code converte comandos curl para código Julia usando HTTP.jl. A conversão é executada no seu navegador via WebAssembly para total privacidade. Para Python, confira nosso conversor de curl para Python. Para R, veja curl para R. Abaixo estão exemplos práticos de Julia.
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 Julia HTTP.jl?
HTTP.jl é o pacote padrão de cliente e servidor HTTP para Julia. Ele fornece uma API simples de alto nível com pool de conexões, manipulação de cookies e suporte a streaming. Instale com using Pkg; Pkg.add("HTTP"). Ele se integra bem com o sistema de multiple dispatch do Julia. O curl2code usa HTTP.jl para todas as conversões em Julia.
HTTP.jl vs Downloads.jl vs LibCURL.jl — qual usar?
HTTP.jl é o cliente HTTP completo — use para APIs e requisições personalizadas. Downloads.jl é um módulo da biblioteca padrão para downloads simples de arquivos. LibCURL.jl envolve a libcurl para recursos específicos do curl. Para a maioria das tarefas, o HTTP.jl é a escolha certa. Para clientes de computação científica semelhantes, veja curl para Python ou curl para R.
Como lidar com autenticação no Julia?
Passe os cabeçalhos como um vetor de pares: HTTP.get(url, ["Authorization" => "Bearer $token"]). Para autenticação Basic: ["Authorization" => "Basic $(base64encode("$user:$pass"))"]. A interpolação de strings do Julia com $ torna a construção de cabeçalhos limpa. O curl2code converte flags de autenticação para a sintaxe Julia.
Como enviar dados de formulário multipart no Julia?
Use HTTP.Form: HTTP.post(url, body=HTTP.Form(["file" => open("doc.pdf"), "desc" => "My file"])). O HTTP.jl lida com a codificação multipart, boundaries e Content-Type automaticamente. O curl2code converte flags -F para a sintaxe HTTP.jl Form.
Como lidar com erros HTTP no Julia?
O HTTP.jl lança um HTTP.StatusError em respostas não-2xx por padrão. Desative com status_exception=false para obter a resposta diretamente. Use try ... catch e para tratamento de erros. Verifique e.status para o código HTTP. Erros de rede lançam HTTP.IOError.
Como fazer requisições HTTP concorrentes no Julia?
Use tarefas @async: tasks = [@async HTTP.get(url) for url in urls], depois responses = fetch.(tasks). Para paralelismo real, use Threads.@threads ou Distributed. As tarefas baseadas em corrotinas do Julia são eficientes para requisições concorrentes limitadas por E/S.
Como definir timeouts no Julia?
Passe a palavra-chave readtimeout: HTTP.get(url, readtimeout=30). Para timeout de conexão, use connect_timeout. Para tentativas, use retry=true com retries=3. O HTTP.jl possui retry integrado com backoff exponencial. Estes mapeiam para --max-time e --connect-timeout do curl.
Como usar um proxy no Julia?
Passe a palavra-chave proxy: HTTP.get(url, proxy="http://proxy:8080"). O HTTP.jl também respeita as variáveis de ambiente HTTP_PROXY e HTTPS_PROXY por padrão. Para proxies autenticados, inclua as credenciais na URL do proxy: http://user:pass@proxy:8080.
Como enviar uma requisição POST com corpo JSON em Julia?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para Julia usando o curl2code. O código gerado usa HTTP.post(url, ['Content-Type' => 'application/json'], JSON3.write(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 HTTP.jl.
Como adicionar autorização com token Bearer em Julia?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do HTTP.jl com o cabeçalho de autenticação: ['Authorization' => 'Bearer YOUR_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 Julia?
O curl2code converte curl -H "Content-Type: application/json" URL para o código do HTTP.jl com o cabeçalho correto: ['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 HTTP.jl.