Конвертувати 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 з пулом з'єднань, обробкою файлів cookie та підтримкою потокового передавання. Встановлюється за допомогою 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 auth: ["Authorization" => "Basic $(base64encode("$user:$pass"))"]. Інтерполяція рядків у Julia за допомогою $ робить створення заголовків чистим. curl2code конвертує прапорці автентифікації в синтаксис Julia.

Як надіслати multipart form data в Julia?

Використовуйте HTTP.Form: HTTP.post(url, body=HTTP.Form(["file" => open("doc.pdf"), "desc" => "My file"])). HTTP.jl автоматично обробляє кодування multipart, розділювачі та 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 ефективні для конкурентних запитів, обмежених введенням-виведенням.

Як встановити таймаути в Julia?

Передайте ключове слово readtimeout: HTTP.get(url, readtimeout=30). Для таймауту з'єднання використовуйте connect_timeout. Для повторних спроб використовуйте retry=true з retries=3. HTTP.jl має вбудовану функцію повтору з експоненціальною затримкою. Вони відповідають параметрам curl --max-time та --connect-timeout.

Як використовувати проксі в 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-токена у 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 в інші мови