curl konvertálása R nyelvre
A curl2code a httr csomag használatával konvertálja a curl parancsokat R kóddá. A konverzió a böngészőben fut WebAssembly segítségével a teljes adatvédelem érdekében. Python esetén nézze meg a curl to Python konverterünket. Julia esetén lásd: curl to Julia. Alább gyakorlati R példákat talál.
Hogyan másoljuk ki a curl parancsot a böngészőből
- 1
Nyissa meg a DevTools-t
Nyomja meg az F12 billentyűt vagy a Ctrl+Shift+I a böngésző fejlesztői eszközeinek megnyitásához.
- 2
Lépjen a Network fülre
Kattintson a Network fülre, és hajtsa végre a HTTP kérést kiváltó műveletet.
- 3
Másolás cURL-ként
Kattintson a jobb gombbal a kérésre → Copy → Copy as cURL. Ezután illessze be fent.
Gyakran Ismételt Kérdések
Mi az az R httr?
A httr a legnépszerűbb HTTP kliens csomag R-hez, amelyet webes API interakciókhoz terveztek. Olyan függvényeket biztosít, mint a GET(), POST(), PUT(), automatikus tartalomtípus-kezeléssel és OAuth támogatással. Telepíthető az install.packages("httr") paranccsal. A curl2code támogatja a httr2-t is, amely a következő generációs utód.
httr vs httr2 vs curl csomag — melyiket használjam?
A httr stabil és széles körben használt — a legtöbb R oktatóanyag ezt használja. A httr2 a modern utód pipe-olt szintaxissal, beépített újrapróbálkozásokkal és sebességkorlátozással (rate limiting). A curl csomag egy alacsony szintű libcurl wrapper. Új projektekhez használja a httr2-t, kompatibilitáshoz a httr-t. Hasonló adattudományi munkafolyamatokért lásd: curl-ről Python-ra vagy curl-ről Julia-ra.
Hogyan kezelhető a hitelesítés R-ben?
Bearer token esetén: GET(url, add_headers(Authorization = paste("Bearer", token))). Basic auth esetén: GET(url, authenticate(user, pass)). A httr támogatja az OAuth 1.0-t és 2.0-t is az oauth1.0_token() és oauth2.0_token() függvényeken keresztül. A curl2code a -u és fejléc flageket R szintaxisra konvertálja.
Hogyan küldhető multipart form adat R-ben?
Használja a POST(url, body = list(file = upload_file("doc.pdf"), desc = "My file"), encode = "multipart") függvényt. A httr automatikusan kezeli a multipart boundary-kat és a Content-Type-ot. JSON törzshöz használja az encode = "json" beállítást. A curl2code a -F flageket a httr multipart szintaxisára konvertálja.
Hogyan kezelhetők a HTTP hibák R-ben?
Használja a stop_for_status(response) függvényt hiba dobásához nem 2xx válasz esetén, a warn_for_status()-t figyelmeztetésekhez, vagy a message_for_status()-t üzenetekhez. Ellenőrizze az állapotot a status_code(response) segítségével. Programozott hibakezeléshez csomagolja tryCatch() blokkba. A httr2 a req_error() függvényt használja a konfigurálható hibaviselkedéshez.
Hogyan elemezhetők a JSON válaszok R-ben?
Használja a content(response, "parsed") függvényt az automatikus JSON-lista átalakításhoz, vagy a content(response, "text") függvényt a jsonlite::fromJSON()-nal a nagyobb kontroll érdekében. A jsonlite a JSON-t R data frame-ekké, listákká és vektorokká konvertálja. Adatkezelési folyamatokban pipe-olja közvetlenül tibble vagy dplyr objektumba.
Hogyan állíthatók be időtúllépések R-ben?
Használja a GET(url, timeout(30)) függvényt egy 30 másodperces időtúllépéshez. A httr2 a req_timeout(req, 30) függvényt használja. Újrapróbálkozásokhoz a httr2-ben: req_retry(req, max_tries = 3, backoff = ~ 2). A httr nem rendelkezik beépített újrapróbálkozással — használjon ciklust tryCatch()-el. Ezek a curl --max-time opciójának felelnek meg.
Hogyan használható proxy R-ben?
Használja a GET(url, use_proxy("proxy", 8080, username, password)) függvényt. A httr a libcurl proxy opcióit csomagolja be. Figyelembe veszi a http_proxy és https_proxy környezeti változókat is. SOCKS proxyk esetén adja meg a sémát: use_proxy("socks5://proxy:1080"). A curl2code a -x flageket R proxy konfigurációra konvertálja.
Hogyan küldhető POST kérés JSON törzzsel R nyelven?
Konvertáljon egy olyan curl POST parancsot, mint a curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, R kódra a curl2code segítségével. A generált kód a POST(url, body = data, encode = 'json') megoldást használja. A curl2code automatikusan felismeri a JSON tartalmú -d/--data flageket, és beállítja a megfelelő Content-Type fejlécet a httr kódban.
Hogyan adható hozzá Bearer token hitelesítés R nyelven?
Adja át a curl -H "Authorization: Bearer YOUR_TOKEN" URL parancsot a curl2code eszköznek, és az legenerálja a httr kódot az auth fejléccel: add_headers(Authorization = 'Bearer YOUR_TOKEN'). A curl2code felismeri a Bearer tokeneket a -H "Authorization: Bearer ..." és a --oauth2-bearer flagekből is. Basic auth esetén használja a -u user:pass kapcsolót.
Hogyan állítható be a Content-Type fejléc R nyelven?
A curl2code a curl -H "Content-Type: application/json" URL parancsot a megfelelő fejléccel ellátott httr kódra konvertálja: content_type_json(). A -d adatoknál a curl alapértelmezés szerint az application/x-www-form-urlencoded értéket használja; a -F űrlapfeltöltéseknél pedig a multipart/form-data értéket. A curl2code mindegyiket a megfelelő httr API-hoz rendeli.
Hasznos linkek
curl útmutatók
curl hibakódok
Keress rá bármely curl kilépési kódra — okok, javítások és hibakeresési tippek.
Fájlok letöltése curl segítségével
Fájlok mentése -o és -O kapcsolókkal, átirányítások követése, letöltés folytatása és egyebek.
SSL, TLS és proxy
Tanúsítványok, TLS verziók, HTTP/SOCKS proxyk és egyéni DNS beállítása.