Конвертувати curl у R
curl2code конвертує команди curl у код R за допомогою пакета httr. Конвертація виконується у вашому браузері через WebAssembly для повної приватності. Для Python перегляньте наш конвертер curl у Python. Для Julia дивіться curl у Julia. Нижче наведено практичні приклади на R.
Як скопіювати curl з вашого браузера
- 1
Відкрийте DevTools
Натисніть F12 або Ctrl+Shift+I, щоб відкрити інструменти розробника у вашому браузері.
- 2
Перейдіть на вкладку Network
Натисніть на вкладку Network і виконайте дію, яка ініціює HTTP-запит.
- 3
Скопіюйте як cURL
Клацніть правою кнопкою миші на запит → Copy → Copy 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
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.