Конвертировать 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 — современная замена с синтаксисом через пайпы, встроенными повторами и ограничением частоты запросов. Пакет curl — это низкоуровневая обертка над libcurl. Используйте httr2 для новых проектов, httr — для совместимости. Для похожих рабочих процессов в анализе данных см. curl в Python или curl в Julia.

Как обрабатывать аутентификацию в R?

Для Bearer: GET(url, add_headers(Authorization = paste("Bearer", token))). Для Basic-аутентификации: 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 token на R?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL в curl2code, и инструмент сгенерирует код httr с заголовком авторизации: add_headers(Authorization = 'Bearer YOUR_TOKEN'). curl2code распознает Bearer tokens как в флагах -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 сопоставляет каждый вариант с подходящим API httr.

Полезные ссылки

Руководства по curl

Конвертировать curl в другие языки