Converter curl para Julia
O curl2code converte comandos curl para código Julia utilizando HTTP.jl. A conversão é executada no seu navegador através de WebAssembly para total privacidade. Para Python, consulte o nosso conversor de curl para Python. Para R, veja curl para R. Abaixo encontram-se exemplos práticos de Julia.
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 Julia HTTP.jl?
HTTP.jl é o pacote padrão de cliente e servidor HTTP para Julia. Fornece uma API simples de alto nível com pooling de ligações, gestão de cookies e suporte para streaming. Instale com using Pkg; Pkg.add("HTTP"). Integra-se bem com o sistema de multiple dispatch do Julia. O curl2code utiliza o HTTP.jl para todas as conversões Julia.
HTTP.jl vs Downloads.jl vs LibCURL.jl — qual utilizar?
HTTP.jl é o cliente HTTP completo — utilize para APIs e pedidos personalizados. Downloads.jl é um módulo da biblioteca padrão para downloads de ficheiros simples. LibCURL.jl envolve a libcurl para funcionalidades específicas 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 em 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 as flags de autenticação para a sintaxe Julia.
Como enviar dados de formulário multipart em Julia?
Utilize 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 as flags -F para a sintaxe HTTP.jl Form.
Como lidar com erros HTTP em Julia?
O HTTP.jl lança HTTP.StatusError em respostas não-2xx por predefinição. Desative com status_exception=false para obter a resposta diretamente. Utilize try ... catch e para o tratamento de erros. Verifique e.status para o código HTTP. Erros de rede lançam HTTP.IOError.
Como fazer pedidos HTTP concorrentes em Julia?
Utilize tarefas @async: tasks = [@async HTTP.get(url) for url in urls], depois responses = fetch.(tasks). Para verdadeiro paralelismo, utilize Threads.@threads ou Distributed. As tarefas baseadas em corrotinas do Julia são eficientes para pedidos concorrentes limitados por E/S.
Como definir timeouts em Julia?
Passe a palavra-chave readtimeout: HTTP.get(url, readtimeout=30). Para timeout de ligação, utilize connect_timeout. Para repetições, utilize retry=true com retries=3. O HTTP.jl tem repetição integrada com backoff exponencial. Estes mapeiam para --max-time e --connect-timeout do curl.
Como utilizar um proxy em 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 predefinição. Para proxies autenticados, inclua as credenciais no URL do proxy: http://user:pass@proxy:8080.
Como enviar um pedido POST com um 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 utiliza HTTP.post(url, ['Content-Type' => 'application/json'], JSON3.write(data)). O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código HTTP.jl.
Como adicionar autorização com token Bearer em Julia?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código HTTP.jl com o cabeçalho de autenticação: ['Authorization' => 'Bearer YOUR_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 Julia?
O curl2code converte curl -H "Content-Type: application/json" URL para código HTTP.jl com o cabeçalho correto: ['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 HTTP.jl correta.
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.