curl을 R(으)로 변환

curl2code는 httr 패키지를 사용하여 curl 명령을 R 코드로 변환합니다. 변환은 완전한 개인 정보 보호를 위해 WebAssembly를 통해 브라우저에서 실행됩니다. Python의 경우 curl to Python 변환기를 확인하세요. Julia의 경우 curl to Julia를 참조하세요. 아래는 실용적인 R 예제입니다.

브라우저에서 curl을 복사하는 방법

  1. 1

    DevTools 열기

    F12 또는 Ctrl+Shift+I를 눌러 브라우저 개발자 도구를 엽니다.

  2. 2

    Network 탭으로 이동

    Network 탭을 클릭하고 HTTP 요청을 트리거하는 동작을 수행합니다.

  3. 3

    cURL로 복사

    요청을 마우스 오른쪽 버튼으로 클릭 → CopyCopy as cURL을 선택합니다. 그런 다음 위에 붙여넣으세요.

자주 묻는 질문 (FAQ)

R httr이란 무엇인가요?

httr은 웹 API 상호작용을 위해 설계된 R의 가장 인기 있는 HTTP 클라이언트 패키지입니다. 자동 콘텐츠 타입 처리 및 OAuth 지원과 함께 GET(), POST(), PUT()과 같은 함수를 제공합니다. install.packages("httr")로 설치할 수 있습니다. curl2code는 차세대 후속 버전인 httr2도 지원합니다.

httr vs httr2 vs curl 패키지 — 어떤 것을 사용해야 하나요?

httr은 안정적이고 널리 사용되며 대부분의 R 튜토리얼에서 사용됩니다. httr2는 파이프 구문, 내장 재시도, 속도 제한 기능을 갖춘 현대적인 대체제입니다. curl 패키지는 저수준 libcurl 래퍼입니다. 새 프로젝트에는 httr2를, 호환성을 위해서는 httr을 사용하세요. 유사한 데이터 과학 워크플로우는 curl to Python 또는 curl to Julia를 참조하세요.

R에서 인증을 어떻게 처리하나요?

Bearer 인증의 경우: GET(url, add_headers(Authorization = paste("Bearer", token))). Basic 인증의 경우: GET(url, authenticate(user, pass)). httr은 oauth1.0_token()oauth2.0_token()을 통한 OAuth 1.0 및 2.0도 지원합니다. curl2code는 -u 및 헤더 플래그를 R 구문으로 변환합니다.

R에서 multipart form data를 어떻게 전송하나요?

POST(url, body = list(file = upload_file("doc.pdf"), desc = "My file"), encode = "multipart")를 사용하세요. httr은 multipart 경계값과 Content-Type을 자동으로 처리합니다. JSON 본문의 경우 encode = "json"을 사용합니다. curl2code는 -F 플래그를 httr multipart 구문으로 변환합니다.

R에서 HTTP 에러를 어떻게 처리하나요?

2xx가 아닌 경우 에러를 던지려면 stop_for_status(response)를, 경고는 warn_for_status()를, 메시지는 message_for_status()를 사용하세요. status_code(response)로 상태 코드를 확인합니다. 프로그래밍 방식의 에러 처리를 위해 tryCatch()로 감싸세요. httr2는 구성 가능한 에러 동작을 위해 req_error()를 사용합니다.

R에서 JSON 응답을 어떻게 파싱하나요?

자동 JSON-to-list 파싱을 위해 content(response, "parsed")를 사용하거나, 더 세밀한 제어를 위해 content(response, "text")과 함께 jsonlite::fromJSON()를 사용하세요. jsonlite는 JSON을 R 데이터 프레임, 리스트, 벡터로 변환합니다. 데이터 분석 파이프라인의 경우 tibble 또는 dplyr로 직접 파이프 연결이 가능합니다.

R에서 타임아웃을 어떻게 설정하나요?

30초 타임아웃을 위해 GET(url, timeout(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_proxyhttps_proxy 환경 변수도 준수합니다. SOCKS 프록시의 경우 use_proxy("socks5://proxy:1080")와 같이 스킴을 지정하세요. curl2code는 -x 플래그를 R 프록시 설정으로 변환합니다.

R에서 JSON 바디를 포함한 POST 요청을 보내는 방법은 무엇인가요?

curl2code를 사용하여 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL과 같은 curl POST 명령어를 R로 변환하세요. 생성된 코드는 POST(url, body = data, encode = 'json')를 사용합니다. curl2code는 JSON 콘텐츠가 포함된 -d/--data 플래그를 자동으로 감지하고 httr 코드에 적절한 Content-Type 헤더를 설정합니다.

R에서 Bearer 토큰 인증을 추가하는 방법은 무엇인가요?

curl -H "Authorization: Bearer YOUR_TOKEN" URL을 curl2code에 입력하면 add_headers(Authorization = 'Bearer YOUR_TOKEN')와 같은 인증 헤더가 포함된 httr 코드가 생성됩니다. curl2code는 -H "Authorization: Bearer ..."--oauth2-bearer 플래그 모두에서 Bearer 토큰을 감지합니다. Basic auth의 경우 -u user:pass를 사용하세요.

R에서 Content-Type 헤더를 설정하는 방법은 무엇인가요?

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을 다른 언어로 변환