Chuyển đổi curl sang R

curl2code chuyển đổi các lệnh curl thành mã R bằng gói httr. Quá trình chuyển đổi chạy trong trình duyệt của bạn thông qua WebAssembly để đảm bảo quyền riêng tư hoàn toàn. Đối với Python, hãy kiểm tra trình chuyển đổi curl sang Python của chúng tôi. Đối với Julia, hãy xem curl sang Julia. Dưới đây là các ví dụ R thực tế.

Cách sao chép curl từ trình duyệt của bạn

  1. 1

    Mở DevTools

    Nhấn F12 hoặc Ctrl+Shift+I để mở công cụ dành cho nhà phát triển của trình duyệt.

  2. 2

    Đi tới tab Network

    Nhấp vào tab Network và thực hiện hành động kích hoạt yêu cầu HTTP.

  3. 3

    Sao chép dưới dạng cURL

    Nhấp chuột phải vào yêu cầu → Sao chépCopy as cURL. Sau đó dán nó vào bên trên.

Câu hỏi thường gặp

R httr là gì?

httr là gói HTTP client phổ biến nhất cho R, được thiết kế để tương tác với web API. Nó cung cấp các hàm như GET(), POST(), PUT() với khả năng tự động xử lý content type và hỗ trợ OAuth. Cài đặt bằng install.packages("httr"). curl2code cũng hỗ trợ httr2, thế hệ kế thừa tiếp theo.

httr vs httr2 vs gói curl — nên sử dụng cái nào?

httr ổn định và được sử dụng rộng rãi — hầu hết các hướng dẫn về R đều sử dụng nó. httr2 là sự thay thế hiện đại với cú pháp dạng ống (piped syntax), tích hợp sẵn tính năng thử lại và giới hạn tốc độ (rate limiting). Gói curl là một trình bao bọc libcurl cấp thấp. Sử dụng httr2 cho các dự án mới, httr để đảm bảo tính tương thích. Đối với các quy trình khoa học dữ liệu tương tự, hãy xem curl sang Python hoặc curl sang Julia.

Làm thế nào để xử lý xác thực trong R?

Đối với Bearer: GET(url, add_headers(Authorization = paste("Bearer", token))). Đối với Basic auth: GET(url, authenticate(user, pass)). httr cũng hỗ trợ OAuth 1.0 và 2.0 thông qua oauth1.0_token()oauth2.0_token(). curl2code chuyển đổi -u và các cờ header sang cú pháp R.

Làm thế nào để gửi dữ liệu multipart form trong R?

Sử dụng POST(url, body = list(file = upload_file("doc.pdf"), desc = "My file"), encode = "multipart"). httr tự động xử lý các boundary multipart và Content-Type. Đối với body JSON, sử dụng encode = "json". curl2code chuyển đổi các cờ -F sang cú pháp multipart của httr.

Làm thế nào để xử lý lỗi HTTP trong R?

Sử dụng stop_for_status(response) để ném lỗi khi không phải 2xx, warn_for_status() để đưa ra cảnh báo, hoặc message_for_status() để đưa ra thông báo. Kiểm tra trạng thái bằng status_code(response). Bao bọc trong tryCatch() để xử lý lỗi theo chương trình. httr2 sử dụng req_error() để cấu hình hành vi lỗi.

Làm thế nào để phân tích phản hồi JSON trong R?

Sử dụng content(response, "parsed") để tự động phân tích JSON thành list, hoặc content(response, "text") với jsonlite::fromJSON() để kiểm soát nhiều hơn. jsonlite chuyển đổi JSON thành R data frames, lists và vectors. Đối với các pipeline phân tích dữ liệu, hãy truyền trực tiếp vào tibble hoặc dplyr.

Làm thế nào để thiết lập timeout trong R?

Sử dụng GET(url, timeout(30)) cho timeout 30 giây. httr2 sử dụng req_timeout(req, 30). Đối với việc thử lại trong httr2: req_retry(req, max_tries = 3, backoff = ~ 2). httr không có tính năng thử lại tích hợp sẵn — hãy sử dụng vòng lặp với tryCatch(). Những thông số này tương ứng với tùy chọn --max-time của curl.

Làm thế nào để sử dụng proxy trong R?

Sử dụng GET(url, use_proxy("proxy", 8080, username, password)). httr bao bọc các tùy chọn proxy của libcurl. Nó cũng tuân thủ các biến môi trường http_proxyhttps_proxy. Đối với proxy SOCKS, hãy chỉ định scheme: use_proxy("socks5://proxy:1080"). curl2code chuyển đổi các cờ -x sang cấu hình proxy R.

Làm thế nào để gửi một yêu cầu POST với thân JSON trong R?

Chuyển đổi một lệnh curl POST như curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL sang R bằng cách sử dụng curl2code. Mã được tạo sử dụng POST(url, body = data, encode = 'json'). curl2code tự động phát hiện các cờ -d/--data với nội dung JSON và thiết lập header Content-Type phù hợp trong mã httr.

Làm thế nào để thêm xác thực Bearer token trong R?

Cung cấp curl -H "Authorization: Bearer YOUR_TOKEN" URL cho curl2code và nó sẽ tạo mã httr với header xác thực: add_headers(Authorization = 'Bearer YOUR_TOKEN'). curl2code phát hiện Bearer tokens từ cả hai cờ -H "Authorization: Bearer ..."--oauth2-bearer. Đối với Basic auth, hãy sử dụng -u user:pass.

Làm thế nào để thiết lập header Content-Type trong R?

curl2code chuyển đổi curl -H "Content-Type: application/json" URL sang mã httr với header chính xác: content_type_json(). Đối với dữ liệu -d, curl mặc định là application/x-www-form-urlencoded; đối với tải lên biểu mẫu -F, nó sử dụng multipart/form-data. curl2code ánh xạ từng loại tới httr API chính xác.

Liên kết hữu ích

Hướng dẫn curl

Chuyển đổi curl sang các ngôn ngữ khác