Конвертиране на curl в Julia

curl2code конвертира curl команди в Julia код, използвайки HTTP.jl. Конвертирането се извършва във вашия браузър чрез WebAssembly за пълна поверителност. За Python вижте нашия curl към Python конвертор. За R вижте curl към R. По-долу са дадени практически Julia примери.

Как да копирате curl от вашия браузър

  1. 1

    Отворете DevTools

    Натиснете F12 или Ctrl+Shift+I, за да отворите инструментите за разработчици на вашия браузър.

  2. 2

    Отидете в раздела Network

    Кликнете върху раздела Network и извършете действието, което задейства HTTP заявката.

  3. 3

    Копирайте като cURL

    Кликнете с десния бутон върху заявката → CopyCopy as cURL. След това я поставете по-горе.

Често задавани въпроси

Какво е Julia HTTP.jl?

HTTP.jl е стандартният пакет за HTTP клиент и сървър за Julia. Той предоставя просто API от високо ниво с пулинг на връзките, управление на бисквитки и поддръжка на стрийминг. Инсталирайте с using Pkg; Pkg.add("HTTP"). Той се интегрира добре със системата за множествена диспечеризация на Julia. curl2code използва HTTP.jl за всички Julia конверсии.

HTTP.jl срещу Downloads.jl срещу LibCURL.jl — кое да използвам?

HTTP.jl е пълнофункционалният HTTP клиент — използвайте го за API и персонализирани заявки. Downloads.jl е модул от стандартната библиотека за просто изтегляне на файлове. LibCURL.jl обвива libcurl за специфични за curl функции. За повечето задачи HTTP.jl е правилният избор. За подобни клиенти за научни изчисления вижте curl към Python или curl към R.

Как да се справя с автентикацията в Julia?

Предайте хедърите като вектор от двойки: HTTP.get(url, ["Authorization" => "Bearer $token"]). За Basic автентикация: ["Authorization" => "Basic $(base64encode("$user:$pass"))"]. Интерполацията на низове в Julia с $ прави конструирането на хедъри чисто. curl2code конвертира флаговете за автентикация в синтаксис на Julia.

Как да изпратя multipart form данни в Julia?

Използвайте HTTP.Form: HTTP.post(url, body=HTTP.Form(["file" => open("doc.pdf"), "desc" => "My file"])). HTTP.jl автоматично обработва multipart кодирането, границите (boundaries) и Content-Type. curl2code конвертира флаговете -F в синтаксиса на HTTP.jl Form.

Как да обработвам HTTP грешки в Julia?

HTTP.jl хвърля HTTP.StatusError при отговори, различни от 2xx по подразбиране. Деактивирайте това с status_exception=false, за да получите отговора директно. Използвайте try ... catch e за обработка на грешки. Проверете e.status за HTTP кода. Мрежовите грешки хвърлят HTTP.IOError.

Как да правя паралелни HTTP заявки в Julia?

Използвайте @async задачи: tasks = [@async HTTP.get(url) for url in urls], след това responses = fetch.(tasks). За истински паралелизъм използвайте Threads.@threads или Distributed. Задачите в Julia, базирани на корутини, са ефективни за паралелни I/O заявки.

Как да задам таймаути в Julia?

Предайте ключовата дума readtimeout: HTTP.get(url, readtimeout=30). За таймаут на връзката използвайте connect_timeout. За повторни опити използвайте retry=true с retries=3. HTTP.jl има вградена логика за повторен опит с експоненциално изчакване. Те съответстват на --max-time и --connect-timeout на curl.

Как да използвам прокси в Julia?

Предайте ключовата дума proxy: HTTP.get(url, proxy="http://proxy:8080"). HTTP.jl също така уважава променливите на средата HTTP_PROXY и HTTPS_PROXY по подразбиране. За проксита с автентикация включете идентификационните данни в URL адреса на проксито: http://user:pass@proxy:8080.

Как се изпраща POST заявка с JSON тяло в Julia?

Конвертирайте curl POST команда като curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL в Julia чрез curl2code. Генерираният код използва HTTP.post(url, ['Content-Type' => 'application/json'], JSON3.write(data)). curl2code автоматично разпознава -d/--data флагове с JSON съдържание и задава съответната Content-Type заглавна част в HTTP.jl кода.

Как се добавя Bearer token оторизация в Julia?

Подайте curl -H "Authorization: Bearer YOUR_TOKEN" URL на curl2code и той ще генерира HTTP.jl код със заглавна част за оторизация: ['Authorization' => 'Bearer YOUR_TOKEN']. curl2code разпознава Bearer токени както от -H "Authorization: Bearer ...", така и от --oauth2-bearer флагове. За Basic auth използвайте -u user:pass.

Как се задава Content-Type заглавна част в Julia?

curl2code конвертира curl -H "Content-Type: application/json" URL в HTTP.jl код с правилната заглавна част: ['Content-Type' => 'application/json']. За -d данни, curl използва по подразбиране application/x-www-form-urlencoded; за -F качване на формуляри, използва multipart/form-data. curl2code свързва всеки от тях с правилния HTTP.jl API.

Полезни връзки

Ръководства за curl

Конвертиране на curl в други езици