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. 1

    Abrir as DevTools

    Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.

  2. 2

    Ir para o separador Network

    Clique no separador Network e realize a ação que despoleta o pedido HTTP.

  3. 3

    Copiar como cURL

    Clique com o botão direito no pedido → CopyCopy 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

Converter curl para Outras Linguagens