3 पॉइंट द्वारा GN⁺ 2024-01-30 | 1 टिप्पणियां | WhatsApp पर शेयर करें

--libcurl का उपयोग

  • libcurl के उपयोग की सिफारिश: उपयोगकर्ताओं को पहले curl कमांड-लाइन टूल का उपयोग करके मनचाहा ट्रांसफर आज़माने की सलाह दी जाती है, और जब वह लगभग इच्छित रूप से काम करने लगे, तब कमांड-लाइन में --libcurl [फ़ाइलनाम] विकल्प जोड़कर उसे फिर से चलाएँ।
  • कोड जनरेशन: --libcurl कमांड-लाइन विकल्प दिए गए फ़ाइलनाम के साथ एक C प्रोग्राम बनाता है। यह C प्रोग्राम libcurl का उपयोग करके वही ट्रांसफर चलाता है जो curl कमांड-लाइन टूल ने किया था।
  • अपवाद और अंतर: यह हमेशा 100% एक जैसा नहीं होता, लेकिन जिन libcurl विकल्पों और अतिरिक्त arguments का आप उपयोग करना चाहते हैं, उनके लिए यह बेहतरीन प्रेरणा दे सकता है।

उदाहरण कोड

  • चलाने का उदाहरण: curl http://example.com --libcurl example.c कमांड चलाने पर मौजूदा डायरेक्टरी में example.c फ़ाइल बन जाती है।
  • जेनरेट किया गया कोड: बने हुए कोड में curl_easy_setopt() का उपयोग करके कई तरह की option settings शामिल होती हैं, और कुछ options ऐसे हो सकते हैं जिन्हें source से आसानी से जनरेट नहीं किया जा सकता, इसलिए उपयोगकर्ता को उन्हें खुद लागू करना पड़ सकता है या उनका उपयोग न करना पड़े।

GN⁺ की राय

  • libcurl की उपयोगिता: यह फीचर डेवलपर्स को कमांड-लाइन पर काम करने वाले curl कमांड को आसानी से C प्रोग्राम में बदलने में मदद करता है, जिससे libcurl का उपयोग करने वाले applications का विकास तेज़ होता है।
  • कोड जनरेशन के फ़ायदे: अपने-आप जेनरेट किया गया कोड डेवलपर्स को libcurl API को अधिक तेज़ी से समझने और लागू करने में मदद कर सकता है।
  • सीखने के टूल के रूप में मूल्य: शुरुआती software engineers के लिए यह libcurl options और network programming के वास्तविक उपयोग के उदाहरण दिखाने वाला अच्छा learning material हो सकता है।

1 टिप्पणियां

 
GN⁺ 2024-01-30
Hacker News राय
  • ब्राउज़र के नेटवर्क टैब में दिलचस्प request ढूँढकर "Copy as curl" करने का पैटर्न उपयोगी है। इससे एक curl कमांड बन जाती है, और फिर उस कमांड को इस्तेमाल करने वाली भाषा के request code में बदलने के लिए एक साइट (curlconverter.com) का उपयोग किया जा सकता है। curl एक तरह के "intermediate representation" की तरह काम करता है, जिसे दूसरी भाषाओं में अनुवाद किया जा सकता है.
  • कमांड लाइन इंटरफ़ेस में ऐसा flag होना जो किसी प्रोग्राम का source code आउटपुट कर दे, बहुत शानदार फीचर है। यह मानो कार का bonnet खोलकर अंदर दिखाने जैसा है, जिससे यह बेहतर समझ आता है कि वह कैसे काम करता है और ज़रूरत के मुताबिक उसे बदला भी जा सकता है। यह user-friendly है क्योंकि उपयोगकर्ता इसे अपनी इच्छा के अनुसार समायोजित या विस्तार कर सकता है.
  • Microsoft Office के Visual Basic macro के सफल होने का एक कारण भी ऐसा ही फीचर था। Word, Excel आदि में काम करने के बाद बने macro को code के रूप में लेकर उपयोगकर्ता अपनी ज़रूरत के मुताबिक customize कर सकता था। यह एक सरल लेकिन शक्तिशाली विचार है, और curl में भी यह दिखाई देता है.
  • curl को compile करने के लिए libcurl से link करने का निर्देश देना पड़ता है। उदाहरण के लिए gcc में -lcurl विकल्प इस्तेमाल किया जाता है। इससे IP address प्रिंट किया जा सकता है और ip_fetcher.c फ़ाइल बनाई जा सकती है, फिर gcc से compile करने के बाद executable चलाकर IP address प्राप्त किया जा सकता है.
  • Hurl एक open source CLI है जो libcurl का उपयोग करता है और HTTP requests को test करने के लिए plain text इस्तेमाल करता है। यह libcurl की stability और बेहतरीन features (HTTP/3 सहित) का लाभ उठाता है, और request chaining, response से data capture और pass करना, तथा response testing (JSONPath, XPath आदि) जैसी सुविधाएँ जोड़ता है। यह REST/SOAP/GraphQL API requests के लिए syntactic convenience देता है, लेकिन मूल में libcurl ही है। Verbose विकल्प का उपयोग करने पर curl command को grep किया जा सकता है.
  • काश ffmpeg में भी ऐसा फीचर होता.
  • Daniel Stenberg details और developer/user experience पर बहुत ध्यान देते हैं, और इस तरह की बारीक देखभाल सचमुच प्रभावशाली मानी गई.
  • Daniel Stenberg द्वारा curl command line options के अधिकांश हिस्से को सीधे समझाने वाले 3 घंटे के वीडियो में भी इस विकल्प का उल्लेख किया गया है.
  • सबमिशन शीर्षक में दो hyphen(--) का उपयोग होना चाहिए; em-dash और hyphen(—-) का संयोजन सही नहीं है.
  • ChatGPT के आने के बाद अब curl executable में आधे-अधूरे quines शामिल करने की ज़रूरत नहीं रही, इसलिए एक AI उत्साही समर्थक ने उत्साहपूर्वक राय दी कि यह फीचर अब पुराना हो गया है.