Flurl C# (.NET) पूर्ण गाइड: उदाहरण, स्थापना और उपयोग

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Flurl C# (.NET) के लिए: पूर्ण गाइड उदाहरण सहित

Flurl .NET के लिए एक आधुनिक और सुरुचिपूर्ण लाइब्रेरी है, जो Fluent URL बिल्डर और HTTP क्लाइंट को एक साथ जोड़ती है। इसे HTTP अनुरोधों को अत्यंत सरल, पठनीय और सुविधाजनक बनाने के लिए बनाया गया है। HttpClient, UriBuilder और कई स्ट्रिंग कॉन्केटनेशन वाले भारी-भरकम कोड के बजाय, Flurl एक संक्षिप्त और अभिव्यंजक सिंटैक्स प्रदान करता है जो LINQ में मेथड चेनिंग की याद दिलाता है।

Flurl की आवश्यकता क्यों? मानक HttpClient की मुख्य समस्या इसकी शब्दाडंबरता है। पैरामीटर और हेडर के साथ एक साधारण GET अनुरोध भेजने के लिए 10-15 लाइन का कोड लिखना पड़ता है। Flurl इसे 2-3 लाइनों में कम कर देता है, जिससे कोड स्व-दस्तावेजीकरण बन जाता है। इसके अलावा, Flurl सुरक्षित URL निर्माण की समस्या को हल करता है: यह स्वचालित रूप से पैरामीटर को एनकोड करता है, पथ और क्वेरी-स्ट्रिंग को संभालता है, और गलत कैरेक्टर एस्केपिंग से होने वाली त्रुटियों को रोकता है।

यह लाइब्रेरी REST API के साथ इंटरैक्शन की आवश्यकता वाले किसी भी परिदृश्य के लिए आदर्श है: सरल मोबाइल ऐप से लेकर जटिल एंटरप्राइज़ सिस्टम तक। Flurl सभी प्रमुख HTTP विधियों, JSON के साथ काम, फ़ाइल अपलोड, टाइमआउट, पुनः प्रयास और बहुत कुछ का समर्थन करता है। यह पूरी तरह से एसिंक्रोनस है और .NET Standard 2.0+ के साथ संगत है, जिससे आप इसे .NET Framework, .NET Core और .NET 5/6/7/8 में उपयोग कर सकते हैं।

स्थापना (Installation)

Flurl को NuGet Package Manager के माध्यम से स्थापित किया जा सकता है। HTTP अनुरोधों के लिए Flurl.Http पैकेज आवश्यक है, जिसमें Flurl (URL बिल्डर) भी शामिल है।

.NET CLI के माध्यम से:

dotnet add package Flurl.Http

Package Manager Console के माध्यम से:

Install-Package Flurl.Http

Visual Studio के माध्यम से: प्रोजेक्ट पर राइट-क्लिक करें → Manage NuGet Packages → "Flurl.Http" खोजें → Install पर क्लिक करें।

यदि आपको केवल HTTP क्लाइंट के बिना URL बिल्डर चाहिए, तो आप यह स्थापित कर सकते हैं:

dotnet add package Flurl

त्वरित आरंभ (Quick Start)

एक न्यूनतम कार्यशील उदाहरण — सार्वजनिक API से डेटा प्राप्त करना और कंसोल पर प्रदर्शित करना:

using Flurl.Http;
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // JSON API पर GET अनुरोध
        var response = await "https://jsonplaceholder.typicode.com/posts/1"
            .GetJsonAsync<dynamic>();

        Console.WriteLine($"शीर्षक: {response.title}");
        Console.WriteLine($"मुख्य भाग: {response.body}");
    }
}

यह कोड GET अनुरोध करता है, स्वचालित रूप से JSON प्रतिक्रिया को डायनामिक ऑब्जेक्ट में डीसीरियलाइज़ करता है और फ़ील्ड प्रदर्शित करता है। ध्यान दें: Flurl आपको सीधे URL स्ट्रिंग पर मेथड कॉल करने की अनुमति देता है — यही "Fluent" शैली है।

मुख्य विधियाँ और क्लासेज़

1. Url.Combine() — सुरक्षित URL संयोजन

सिग्नेचर: public static string Combine(params string[] parts)

कार्य: URL के कई भागों को जोड़ता है, स्वचालित रूप से अतिरिक्त स्लैश जोड़ता/हटाता है। डुप्लिकेट स्लैश को रोकता है।

using Flurl;

string fullUrl = Url.Combine("https://api.example.com", "/v1/", "users", "/123");
Console.WriteLine(fullUrl); // https://api.example.com/v1/users/123

2. Url.SetQueryParams() — Fluent तरीके से पैरामीटर जोड़ना

सिग्नेचर: public static string SetQueryParams(this string url, object values)

कार्य: अनाम ऑब्जेक्ट या डिक्शनरी से URL में क्वेरी-पैरामीटर जोड़ता है। मानों को स्वचालित रूप से एनकोड करता है।

using Flurl;

string url = "https://api.example.com/search"
    .SetQueryParams(new { q = "नमस्ते दुनिया", page = 1, limit = 10 });

Console.WriteLine(url); 
// https://api.example.com/search?q=%E0%A4%A8%E0%A4%AE%E0%A4%B8%E0%A5%8D%E0%A4%A4%E0%A5%87+%E0%A4%A6%E0%A5%81%E0%A4%A8%E0%A4%BF%E0%A4%AF%E0%A4%BE&page=1&limit=10

अनुशंसाएँ