Конвертувати curl у R

curl2code конвертує команди curl у код R за допомогою пакета httr. Конвертація виконується у вашому браузері через WebAssembly для повної приватності. Для Python перегляньте наш конвертер curl у Python. Для Julia дивіться curl у Julia. Нижче наведено практичні приклади на R.

Як скопіювати curl з вашого браузера

  1. 1

    Відкрийте DevTools

    Натисніть F12 або Ctrl+Shift+I, щоб відкрити інструменти розробника у вашому браузері.

  2. 2

    Перейдіть на вкладку Network

    Натисніть на вкладку Network і виконайте дію, яка ініціює HTTP-запит.

  3. 3

    Скопіюйте як cURL

    Клацніть правою кнопкою миші на запит → CopyCopy as cURL. Потім вставте його вище.

Часті запитання

Що таке R httr?

httr — найпопулярніший пакет HTTP-клієнта для R, розроблений для взаємодії з веб-API. Він надає такі функції, як GET(), POST(), PUT() з автоматичною обробкою типів контенту та підтримкою OAuth. Встановлюється за допомогою install.packages("httr"). curl2code також підтримує httr2, наступне покоління цього пакета.

httr проти httr2 проти пакета curl — що використовувати?

httr стабільний і широко використовується — більшість посібників з R використовують саме його. httr2 — це сучасна заміна із синтаксисом із використанням пайпів (pipe), вбудованими повторними спробами та обмеженням частоти запитів. Пакет curl — це низькорівнева обгортка над libcurl. Використовуйте httr2 для нових проєктів, httr — для сумісності. Для схожих робочих процесів у Data Science див. curl до Python або curl до Julia.

Як обробляти автентифікацію в R?

Для Bearer: GET(url, add_headers(Authorization = paste("Bearer", token))). Для Basic auth: GET(url, authenticate(user, pass)). httr також підтримує OAuth 1.0 та 2.0 через oauth1.0_token() та oauth2.0_token(). curl2code конвертує -u та прапорці заголовків у синтаксис R.

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

Використовуйте POST(url, body = list(file = upload_file("doc.pdf"), desc = "My file"), encode = "multipart"). httr автоматично обробляє розділювачі multipart та Content-Type. Для тіла JSON використовуйте encode = "json". curl2code конвертує прапорці -F у синтаксис multipart httr.

Як обробляти помилки HTTP в R?

Використовуйте stop_for_status(response), щоб викликати помилку для статусів, відмінних від 2xx, warn_for_status() для попереджень або message_for_status() для повідомлень. Перевіряйте статус за допомогою status_code(response). Оберніть у tryCatch() для програмної обробки помилок. httr2 використовує req_error() для налаштування поведінки при помилках.

Як парсити JSON-відповіді в R?

Використовуйте content(response, "parsed") для автоматичного парсингу JSON у список або content(response, "text") з jsonlite::fromJSON() для більшого контролю. jsonlite конвертує JSON у фрейми даних R, списки та вектори. Для конвеєрів аналізу даних передавайте результат безпосередньо в tibble або dplyr.

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

Використовуйте GET(url, timeout(30)) для 30-секундного таймауту. httr2 використовує req_timeout(req, 30). Для повторних спроб у httr2: req_retry(req, max_tries = 3, backoff = ~ 2). У httr немає вбудованих повторних спроб — використовуйте цикл із tryCatch(). Ці параметри відповідають опції curl --max-time.

Як використовувати проксі в R?

Використовуйте GET(url, use_proxy("proxy", 8080, username, password)). httr обгортає опції проксі libcurl. Також враховуються змінні середовища http_proxy та https_proxy. Для SOCKS-проксі вкажіть схему: use_proxy("socks5://proxy:1080"). curl2code конвертує прапорці -x у конфігурацію проксі R.

Як надіслати POST-запит із тілом JSON у R?

Конвертуйте команду curl POST, таку як curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, у R за допомогою curl2code. Згенерований код використовує POST(url, body = data, encode = 'json'). curl2code автоматично виявляє прапорці -d/--data із вмістом JSON і встановлює відповідний заголовок Content-Type у коді httr.

Як додати авторизацію за допомогою Bearer-токена у R?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL у curl2code, і він згенерує код httr із заголовком авторизації: add_headers(Authorization = 'Bearer YOUR_TOKEN'). curl2code виявляє Bearer-токени як у прапорцях -H "Authorization: Bearer ...", так і в --oauth2-bearer. Для Basic auth використовуйте -u user:pass.

Як встановити заголовок Content-Type у R?

curl2code конвертує curl -H "Content-Type: application/json" URL у код httr із відповідним заголовком: content_type_json(). Для даних -d curl за замовчуванням використовує application/x-www-form-urlencoded; для завантаження форм -F використовується multipart/form-data. curl2code зіставляє кожен варіант із правильним httr API.

Корисні посилання

Посібники з curl

Конвертувати curl в інші мови