سورس کد دات نت c# or vb.et ارسال درخواست Method HTTP بصورت GET - POST
این توضیحات بصورت خودکار ارسال شده است برای دانلود فایل به سایت اصلی که لینک دانلود در پایین قرار داده شده است بروید
سورس کد دات نت C# یا VB.NET برای ارسال درخواستهای HTTP به صورت GET و POST
در دنیای برنامهنویسی، ارتباط با سرورها و ارسال درخواستهای HTTP یکی از مهمترین وظایف است، چه در توسعه برنامههای وب، چه در برنامههای دسکتاپ یا موبایل. زبانهای C# و VB.NET، که هر دو جزو فریمورک دات نت هستند، ابزارها و کتابخانههای قدرتمندی برای انجام این وظایف فراهم میکنند. در ادامه، به صورت جامع و کامل، به توضیح نحوه نوشتن سورس کدهای مربوط به ارسال درخواستهای HTTP در این زبانها میپردازیم، با تمرکز بر دو نوع درخواست اصلی، یعنی GET و POST.
مقدمهای بر درخواستهای HTTP
درخواستهای HTTP، پروتکلهایی هستند که به کلاینتها امکان میدهند با سرور ارتباط برقرار کرده و دادهها را درخواست یا ارسال کنند. درخواستهای GET برای بازیابی اطلاعات از سرور طراحی شدهاند، در حالی که درخواستهای POST برای ارسال دادههای پیچیده و ثبت اطلاعات جدید مورد استفاده قرار میگیرند.
این دو نوع درخواست، تفاوتهای مهمی در نحوه ساختار و کاربرد دارند. درخواست GET، معمولا پارامترهای خود را در URL قرار میدهد و محدودیتهایی در حجم داده دارد، در حالی که درخواست POST، دادهها را در بدنه درخواست قرار میدهد و امکان ارسال حجم زیادی از دادهها را فراهم میکند.
ابزارهای موجود در دات نت برای ارسال درخواستهای HTTP
در دات نت، دو کتابخانه اصلی برای این منظور وجود دارد: `HttpClient` و `WebRequest`. اما از نسخههای جدیدتر، مثلا در دات نت فریمورک
- 5 و بالاتر، پیشنهاد میشود از `HttpClient` استفاده کنید، چون سادهتر، سریعتر و قابل اطمینانتر است. در عوض، `WebRequest` هم قدیمیتر است و گاهی در پروژههای قدیمیتر دیده میشود.
در ادامه، به صورت جداگانه، نحوه نوشتن کدهای ارسال درخواستهای GET و POST در C# و VB.NET را بررسی میکنیم.
---ارسال درخواست GET در C#
درخواست GET، معمولا برای بازیابی دادهها از سرور استفاده میشود. فرض کنید میخواهید یک درخواست GET به یک API خاص ارسال کنید و پاسخ آن را دریافت کنید.
csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string url = "https://jsonplaceholder.typicode.com/posts/1";
using (HttpClient client = new HttpClient())
{
try
{
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode(); // چک کردن وضعیت پاسخ
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
در این نمونه، ابتدا یک شیء `HttpClient` ساخته شده است، سپس متد `GetAsync` برای ارسال درخواست GET فراخوانی میشود. پس از دریافت پاسخ، وضعیت صحت آن بررسی میشود و در صورت موفقیت، محتوا به صورت رشته خوانده و نمایش داده میشود.
---
ارسال درخواست POST در C#
حالا فرض میکنیم نیاز دارید دادههای پیچیدهتری مثل فرمها یا اطلاعات JSON را به سرور بفرستید. در اینجا نمونهای از درخواست POST آورده شده است:
csharp
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string url = "https://jsonplaceholder.typicode.com/posts";
var jsonData = "{\"title\": \"foo\", \"body\": \"bar\", \"userId\": 1}";
using (HttpClient client = new HttpClient())
{
var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
try
{
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Err... ← ادامه مطلب در magicfile.ir