درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
دوره های مرتبط
دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
مدرس: dr-iman
این دوره را در 13 قسط خریداری کنید
دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 27 قسط خریداری کنید
ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
مدرس: مهدی عادلی
این دوره را در 2 قسط خریداری کنید
دوره تخصصی آموزش متن کاوی با ابزار NLTK
مدرس: taghandiki
این دوره را در 11 قسط خریداری کنید
دوره آموزشی برنامه نویسی حرفه ای پایتون به زبان ساده
مدرس: حسین احمدی
این دوره را در 23 قسط خریداری کنید
دوره آموزشی ساخت ربات تلگرام
مدرس: taghandiki
این دوره را در 8 قسط خریداری کنید
دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
مدرس: حسین احمدی
این دوره را در 17 قسط خریداری کنید
دوره آموزشی Exploit نویسی به زبان Perl
مدرس: dr-iman
این دوره را در 7 قسط خریداری کنید
دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
مدرس: حسین احمدی
این دوره را در 11 قسط خریداری کنید
دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
مدرس: taghandiki
این دوره را در 20 قسط خریداری کنید

برنامه نویسی شبکه (Network Programming) در سی شارپ :: ارسال درخواست Post در کلاس HttpClient

0 نظرات
86 بازدیدها
در قسمت قبلی یک آشنایی اولیه با کلاس HttpClient پیدا کردیم و یاد گرفتیم که چگونه بوسیله متد GetAsync می توان در خواست هایی را در قالب GET به سمت سرور ارسال کرد و پاسخ آن را دریافت کرد. در کنار درخواست های GET در سی شارپ امکان ارسال در خواست های POST را نیز داریم. درخواست های POST بیشتر در مواقعی استفاده می شوند که شما قصد دارید یکسری اطلاعات را به سمت سرور ارسال کنید و در سمت سرور عملیاتی بر روی این اطلاعات انجام می شود، مثلاً عملیات ثبت نام در یک وب سایت بوسیله عملیات POST انجام می شود و کاربر اطلاعاتی را به سمت سرور ارسال کرده و اطلاعات او در بانک اطلاعاتی ذخیره می شود. برای ارسال درخواست های POST در زبان سی شارپ از متد PostAsync در کلاس HttpClient استفاده می کنیم. دقت کنید که این روش از نسخه 4.5 به بعد در دات نت قابل استفاده است. ابتدا یک شئ از کلاس HttpClient ایجاد می کنیم:

var httpClient = new System.Net.Http.HttpClient();

در قدم بعدی یک Dictionary برای اطلاعاتی که باید ارسال شوند ایجاد می کنیم. همانطور که اطلاع دارید برای ارسال درخواست های POST در صفحات وب می بایست یک Form ایجاد شود که این فرم در زمان ارسال به سمت سرور حاوی یک سری مقادیر به صورت Key Value Pair است که Key یا کلید نام مقدار ورودی و Value مقداری است که کاربر وارد کرده. برای مثال، در فرم ثبت نام که کاربر اطلاعاتی مانند نام کاربری، کلمه عبور و پست الکترونیکی را ارسال می کند این اطلاعات در قالب یک فرم که حاوی اطلاعات به صورت زیر است ارسال می شود:

Username=ITPro;Password=123;Email=test@tosinso.com

برای مشخص کردن مقادیر Form برای ارسال درخواست پست یک Dictionary حاوی مقادیر مورد نظر ایجاد می کنیم:

var httpClient = new System.Net.Http.HttpClient();
var formValues = new Dictionary<string, string>()
{
    ["Username"] = "ITPro",
    ["Password"] = "123",
    ["Email"] = "test@tosinso.com"
};

در قدم بعدی با ایجاد یک شئ از روی FormUrlEncodedContent دیکشنری ایجاد شده را به سازنده آن ارسال کرده و بوسیله متد PostAsync و به صورت زیر درخواست POST را ارسال می کنیم:

var httpClient = new System.Net.Http.HttpClient();
var formValues = new Dictionary<string, string>()
{
    ["Username"] = "ITPro",
    ["Password"] = "123",
    ["Email"] = "test@tosinso.com"
};
var formCollection = new FormUrlEncodedContent(formValues);
var response = await httpClient.PostAsync("https://domain.com/register", formCollection);
if (response.IsSuccessStatusCode)
{
    // write your code here
}

همانطور که مشاهده می کنید بوسیله کد بالا به راحتی می توان در خواست های POST را به راحتی به سمت یک سرور ارسال کرد، به همین خاطر فراموش نکنید که حتماً در فرم هایی که حساس هستند و امکان حمله به سمت آن ها وجود دارد حتماً از Captcha استفاده کنید.

نویسنده: حسین احمدی
منبع: ITpro
برچسب ها
ردیف عنوان قیمت
1 برنامه نویسی شبکه (Network Programming) در سی شارپ :: آشنایی با کلاس HttpClient رایگان
2 برنامه نویسی شبکه (Network Programming) در سی شارپ :: ارسال درخواست Post در کلاس HttpClient رایگان
3 برنامه نویسی شبکه (Network Programming) در سی شارپ :: کلاس های Uri و UriBuilder رایگان
4 برنامه نویسی شبکه (Network Programming) در سی شارپ :: کار با آدرس های IP و Dns رایگان
5 برنامه نویسی شبکه (Network Programming) در سی شارپ :: کلاس های TcpClient و TcpListener رایگان
6 برنامه نویسی شبکه (Network Programming) در سی شارپ :: پروتکل SMTP و ارسال ایمیل در سی شارپ رایگان
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید

    arrow