Webclient در سی شارپ

 Webclient در سی شارپ

سورس کد دات نت C# یا VB.NET برای ارسال درخواست‌های HTTP به صورت GET و POST


در دنیای برنامه‌نویسی، ارتباط با سرورهای وب و ارسال درخواست‌های HTTP یکی از بخش‌های حیاتی است، به‌خصوص زمانی که قصد دارید داده‌هایی را به سرور بفرستید یا داده‌هایی را از آن دریافت کنید. در این مقاله، قصد داریم به‌طور کامل و جامع درباره‌ چگونگی نوشتن سورس کد در زبان‌های برنامه‌نویسی C# و VB.NET برای ارسال درخواست‌های HTTP، به‌ویژه روش‌های GET و POST، توضیح دهیم. در این مسیر، به مفاهیم پایه، نمونه‌کدهای عملی، نکات مهم و بهترین شیوه‌ها می‌پردازیم، تا بتوانید در پروژه‌های خود به‌راحتی و با اطمینان از این روش‌ها استفاده کنید.

مفاهیم پایه در ارتباط با درخواست‌های HTTP




درخواست‌های HTTP، روش‌هایی هستند که برنامه‌ها یا کاربران برای برقراری ارتباط با سرورهای وب استفاده می‌کنند. دو روش مهم و پرکاربرد در این زمینه، GET و POST هستند، که هرکدام کاربردها، مزایا و معایب خاص خود را دارند:
- روش GET: برای دریافت داده‌ها از سرور استفاده می‌شود. در این روش، پارامترهای درخواست در قسمت URL قرار می‌گیرند و معمولاً برای درخواست‌های ساده و بدون نیاز به ارسال داده‌های حساس کاربرد دارد. به‌طور معمول، درخواست‌های GET سریع‌تر هستند و در کش مرورگرها ذخیره می‌شوند، اما محدودیت در حجم داده‌ها دارند.
- روش POST: برای ارسال داده‌ها به سرور طراحی شده است. در این حالت، داده‌ها در قسمت بدنه درخواست قرار می‌گیرند، بنابراین حجم داده‌ها می‌تواند بزرگ‌تر باشد و داده‌های حساس‌تر به‌صورت امن‌تری ارسال شوند. این روش در عملیات‌هایی مانند ثبت‌نام، وارد کردن فرم‌ها، و عملیات‌هایی که نیاز به امنیت دارند، بسیار مورد استفاده قرار می‌گیرد.

ساختار کلی درخواست‌های HTTP در دات‌نت




در دات‌نت، کتابخانه‌های مختلفی برای ارسال درخواست‌های HTTP وجود دارند، اما محبوب‌ترین و رایج‌ترین آن‌ها، HttpClient است. این کلاس، از نسخه‌های جدید دات‌نت پشتیبانی می‌کند و امکانات زیادی برای مدیریت درخواست‌ها، پاسخ‌ها و تنظیمات مختلف ارائه می‌دهد.
در ادامه، به‌صورت گام‌به‌گام، نحوه ساخت و ارسال درخواست‌های GET و POST را در هر دو زبان، C# و VB.NET، توضیح می‌دهیم.
---

نمونه کد C# برای درخواست GET




در این بخش، نمونه‌کد ساده‌ای برای ارسال درخواست GET آورده شده است. فرض کنید می‌خواهید داده‌هایی را از یک API دریافت کنید:
csharp  

using System;

using System.Net.Http;

using System.Threading.Tasks;
public class HttpExample

{

public static async Task Main()

{

using (HttpClient client = new HttpClient())

{

try

{

// آدرس URL مورد نظر

string url = "https://api.example.com/data";

// ارسال درخواست GET

HttpResponseMessage response = await client.GetAsync(url);

response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();

Console.WriteLine(responseBody);

}

catch (HttpRequestException e)

{

Console.WriteLine($"خطا در ارسال درخواست: {e.Message}");

}

}

}

}


در این نمونه، ما از متد GetAsync استفاده کردیم که درخواست GET را به سرور ارسال می‌کند و پاسخ را دریافت می‌نماید. پس از آن، پاسخ به‌صورت رشته‌ای خوانده شده و نمایش داده می‌شود.
---

نمونه کد VB.NET برای درخواست GET




در VB.NET، کد مشابه با توجه به ساختار زبان، به صورت زیر است:
vb.net  

Imports System

Imports System.Net.Http

Imports System.Threading.Tasks
Module Module1

Sub Main()

RunAsync().GetAwaiter().GetResult()

End Sub
Async Function RunAsync() As Task

Using client As New HttpClient()

Try

Dim url As String = "https://api.example.com/data"

Dim response As HttpResponseMessage = Await client.GetAsync(url)

response.EnsureSuccessStatusCode()

Dim responseBody As String = Await response.Content.ReadAsStringAsync()

Console.WriteLine(responseBody)

Catch e As HttpRequestException

Console.WriteLine($"خطا در ارسال درخواست: {e.Message}")

End Try

End Using

End Function

End Module


در این نمونه، همانند C#، از متد GetAsync برای درخواست استفاده شده است و نتایج به صورت رشته‌ای در کنسول نمایش داده می‌شود.
---

نمونه کد C# برای درخواست POST




در عملیات POST، ما معمولاً داده‌هایی را به سرور می‌فرستیم. فرض کنید قصد دارید یک فرم یا داده‌های JSON را ارسال کنید:
... ← ادامه مطلب در magicfile.ir
باکس دانلود ( Webclient در سی شارپ)
دانلود

پیشنهاد برای دانلود ( Webclient در سی شارپ )

برای دانلود کردن اینجا را کلیک فرمایید

نظرات کاربران (۳)

مریم احمدی

عالی بود .. با تشکر