curl को OCaml में बदलें
Cohttp का उपयोग करके curl कमांड को OCaml कोड में बदलें। curl2code पूरी तरह से WebAssembly के माध्यम से आपके ब्राउज़र में चलता है — आपका डेटा निजी रहता है। Rust के लिए, हमारा curl to Rust कनवर्टर आज़माएँ। Elixir के लिए, curl to Elixir देखें। नीचे उपयोग के लिए तैयार OCaml उदाहरण दिए गए हैं।
अपने ब्राउज़र से curl कैसे कॉपी करें
- 1
DevTools खोलें
अपने ब्राउज़र डेवलपर टूल खोलने के लिए F12 या Ctrl+Shift+I दबाएं।
- 2
Network टैब पर जाएं
Network टैब पर क्लिक करें और वह क्रिया करें जो HTTP रिक्वेस्ट को ट्रिगर करती है।
- 3
cURL के रूप में कॉपी करें
रिक्वेस्ट पर राइट-क्लिक करें → Copy → Copy as cURL। फिर इसे ऊपर पेस्ट करें।
अक्सर पूछे जाने वाले प्रश्न
OCaml Cohttp क्या है?
Cohttp OCaml के लिए मानक HTTP क्लाइंट और सर्वर लाइब्रेरी है। यह समवर्ती I/O के लिए Lwt (लाइटवेट थ्रेड्स) और Async दोनों बैकएंड का समर्थन करता है। इसे opam install cohttp-lwt-unix के साथ इंस्टॉल करें। यह HTTP अनुरोधों के लिए एक टाइप-सेफ, फंक्शनल API प्रदान करता है। curl2code सभी OCaml रूपांतरणों के लिए Cohttp का उपयोग करता है।
Cohttp बनाम ocurl बनाम piaf — किसका उपयोग करें?
Cohttp Lwt/Async समर्थन के साथ मानक OCaml HTTP लाइब्रेरी है। ocurl libcurl को रैप करता है, जिससे OCaml से सभी curl सुविधाओं तक पहुंच मिलती है। piaf नया और HTTP/2-नेटिव है। मुहावरेदार OCaml के लिए Cohttp का उपयोग करें, और जब आपको curl-विशिष्ट सुविधाओं की आवश्यकता हो तो ocurl का उपयोग करें। समान फंक्शनल भाषाओं के लिए, curl to Elixir या curl to Clojure देखें।
OCaml में प्रमाणीकरण (authentication) को कैसे संभालें?
अनुरोध में एक Authorization हेडर जोड़ें: Header.add headers "Authorization" ("Bearer " ^ token)। Basic auth के लिए, base64 पैकेज का उपयोग करके क्रेडेंशियल्स को base64-एन्कोड करें। Cohttp हेडर अपरिवर्तनीय (immutable) होते हैं — उन्हें Header.of_list के साथ बनाएं या Header.add कॉल्स को चेन करें।
OCaml में मल्टीपार्ट फॉर्म डेटा कैसे भेजें?
बाउंड्री स्ट्रिंग्स के साथ मैन्युअल रूप से मल्टीपार्ट बॉडी का निर्माण करें, या multipart_form जैसी लाइब्रेरी का उपयोग करें। बाउंड्री के साथ Content-Type हेडर सेट करें। Cohttp की बॉडी एक साधारण स्ट्रिंग या स्ट्रीम है — RFC 2046 के अनुसार मल्टीपार्ट पेलोड को फॉर्मेट करें। curl2code -F फ्लैग रूपांतरण को संभालता है।
OCaml HTTP अनुरोधों में त्रुटियों को कैसे संभालें?
Lwt के साथ Cohttp प्रॉमिस (promises) लौटाता है — त्रुटि प्रबंधन के लिए Lwt.catch या try%lwt ... with सिंटैक्स का उपयोग करें। Response.status response के साथ रिस्पॉन्स स्टेटस कोड की जाँच करें। OCaml का टाइप सिस्टम यह सुनिश्चित करता है कि आप विफलता के मामलों को संभालें। विस्तृत हैंडलिंग के लिए स्टेटस कोड पर पैटर्न मैचिंग का उपयोग करें।
OCaml में समवर्ती (concurrent) HTTP अनुरोध कैसे करें?
Lwt बैकएंड के साथ: समानांतर निष्पादन के लिए Lwt.all [request1; request2] का उपयोग करें या URL पर मैपिंग के लिए Lwt_list.map_p का उपयोग करें। Async के साथ: Deferred.all का उपयोग करें। Lwt या Async के माध्यम से OCaml की सहकारी समवर्तीता (cooperative concurrency) थ्रेड सुरक्षा चिंताओं के बिना सुरक्षित, कुशल समवर्ती I/O प्रदान करती है।
OCaml में टाइमआउट कैसे सेट करें?
Lwt के साथ, टाइमर के खिलाफ अनुरोध की रेस लगाने के लिए Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout] का उपयोग करें। Cohttp में बिल्ट-इन टाइमआउट विकल्प नहीं हैं — Lwt प्रॉमिस को टाइमआउट कॉम्बिनेटर के साथ रैप करें। रिट्राइ (retries) के लिए, घटते प्रयासों के साथ एक रिकर्सिव फंक्शन लागू करें।
OCaml में प्रॉक्सी का उपयोग कैसे करें?
Cohttp में बिल्ट-इन प्रॉक्सी समर्थन नहीं है। प्रॉक्सी आवश्यकताओं के लिए ocurl (libcurl बाइंडिंग्स) का उपयोग करें: CURLOPT_PROXY विकल्प सेट करें। वैकल्पिक रूप से, HTTP_PROXY एनवायरनमेंट वेरिएबल सेट करें और प्रॉक्सी होस्ट और पोर्ट के माध्यम से रूट करने के लिए कनेक्शन को मैन्युअल रूप से कॉन्फ़िगर करें।
OCaml में JSON body के साथ POST request कैसे भेजें?
curl2code का उपयोग करके curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL जैसे curl POST कमांड को OCaml में बदलें। जेनरेट किया गया कोड Client.post ~body:(Cohttp_lwt.Body.of_string json) uri का उपयोग करता है। curl2code स्वचालित रूप से JSON कंटेंट वाले -d/--data फ्लैग्स का पता लगाता है और Cohttp कोड में उपयुक्त Content-Type हेडर सेट करता है।
OCaml में Bearer token authorization कैसे जोड़ें?
curl2code को curl -H "Authorization: Bearer YOUR_TOKEN" URL पास करें और यह auth हेडर के साथ Cohttp कोड जेनरेट करता है: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'। curl2code -H "Authorization: Bearer ..." और --oauth2-bearer दोनों फ्लैग्स से Bearer tokens का पता लगाता है। Basic auth के लिए, -u user:pass का उपयोग करें।
OCaml में Content-Type हेडर कैसे सेट करें?
curl2code curl -H "Content-Type: application/json" URL को उचित हेडर के साथ Cohttp कोड में बदल देता है: Header.add headers 'Content-Type' 'application/json'। -d डेटा के लिए, curl डिफॉल्ट रूप से application/x-www-form-urlencoded का उपयोग करता है; -F फॉर्म अपलोड के लिए, यह multipart/form-data का उपयोग करता है। curl2code प्रत्येक को सही Cohttp API पर मैप करता है।