ورود و عضویت
0
سبد خرید شما خالی است
0
سبد خرید شما خالی است

آموزش ارسال درخواست POST به وبسرویس در فلاتر

عنوان را به انگلیسی وارد کنید
5 دیدگاه
5 دقیقه برای مطالعه
اموزش flutter

قبلا در مورد ارتباط با سرور در فلاتر صحبت کردیم و از اهمیت آن در طراحی اپلیکیشن و ساختار جیسون نیز آشنا شدیم.

برای کار با وب سرویس و ارسال اطلاعات متدهای مختلفی برای پروتکل http وجود دارد که هرکدام از آنها در شرایط مختلفی کاربرد دارد. متدهایی مثل GET, POST, DELETE, PUT که از بین آنها دو متد GET و POST بیشترین کاربرد را دارند.

روشی که در مطلب قبلی استفاده میکردیم ارسال اطلاعات از طریق متد GET بود.

در این روش اطلاعات ما داخل ادرس url قرار میگیره که امنیت پایینی داره.

زیرا در این حالت تمام پارامترهای ارسالی به وب سرویس قابل مشاهده است و نمیتوانید برای ارسال اطلاعات حساس مانند رمز عبور یا توکن احراز هویت از آن استفاده کنید. همچنین اگر تعداد اطلاعاتی که قصد ارسال آنها را دارید زیاد باشند این روش باعث سردرگمی و پیچیدگی آدرس url میشود.

اما در این مطلب با همدیگه قصد داریم که ارسال اطلاعات به روش POST را بررسی کنیم.

درخواست POST چیست؟

در شبکه‌های کامپیوتری، درخواست post یک درخواست HTTP است که برای ارسال داده‌ها به یک سرور استفاده می‌شود.

این داده‌ها می‌توانند شامل فرم‌ها، فایل‌ها یا هر نوع داده دیگری باشند. درخواست post معمولاً برای ایجاد یا به‌روزرسانی منابع روی سرور استفاده می‌شود.

درخواست post با ارسال یک درخواست HTTP به یک سرور آغاز می‌شود.

این درخواست شامل یک هدر HTTP است که نوع درخواست را تعیین می‌کند.

پس از ارسال درخواست، سرور داده‌های ارسال شده را دریافت می‌کند. سرور سپس این داده‌ها را پردازش می‌کند و یک پاسخ HTTP را به مشتری ارسال می‌کند. پاسخ HTTP می‌تواند شامل یک کد وضعیت HTTP، یک هدر HTTP و یک بدن پاسخ باشد.

درخواست post معمولاً برای ایجاد یا به‌روزرسانی منابع روی سرور استفاده می‌شود.
به عنوان مثال، یک درخواست post می‌تواند برای ایجاد یک حساب کاربری جدید، به‌روزرسانی یک پروفایل کاربری یا ارسال یک فرم استفاده شود.

مشخصات یک درخواست POST شامل موارد زیر است:

  1. URL (Uniform Resource Locator): آدرس سرور یا منبع مورد نظر که باید به آن درخواست POST ارسال شود.
  2. نوع درخواست (HTTP Method): POST به عنوان نوع درخواست مشخص می‌شود.
  3. Headers (سرآیندها): سرآیندهای HTTP شامل اطلاعاتی مانند نوع محتوا و تنظیمات امنیتی که با درخواست ارسال می‌شوند.
  4. داده (Data): اطلاعات یا محتوایی که باید به سرور ارسال شود، به عنوان جسم درخواست درخواست POST قرار می‌گیرد. این می‌تواند اطلاعات فرم، JSON، XML و غیره باشد.

ارسال درخواست POST در فلاتر

برای ارسال درخواست POST به همان روش قبلی عمل میکنیم یعنی استفاده از پکیج http اما به جای دستور http.get از دستور http.post استفاده میکنیم که مشخص کننده نوع متد ارتباطی میباشد و پارامترهای ارسالی خودمون و به شکل یک جیسون آبجکت مینویسیم یا همان مپ در واقع.

var url = 'http://url.com';
    var response = await http.post(url,body: {'name':'Hesam','postid':'1','message':'salam' });
    print('Server respones: ${response.body}');
    return response

در کد بالا سه پارامتر مختلف را به وب سرویس مورد نظر ارسال میکنیم.

برای این کار از ویژگی به نام body استفاده میکنیم که یک ساختار به شکل مپ دریافت میکند.

کلیدهای این مپ همان پارامترهایی هستند که در API قرار است که دریافت شوند و با مشخص کردن مقدار آنها اطلاعات مورد نظر به سرور ارسال میشوند.

اگر نیاز دارید که یک جیسون آبجکت واقعی به سرور ارسال کنید میتوانید از دستور json.encode استفاده کنید و رشته جیسون خودتون و داخل آن قرار بدید.

باقی موارد همانند روش قبلی میباشد و بعد از ارسال درخواست یک پاسخ از سمت سرور دریافت میشود که معمولا شامل محتویات جیسون است و میتوانید با تجزیه کردن آن عملیات مورد نظر خود را انجام دهید.

5 پاسخ به “آموزش ارسال درخواست POST به وبسرویس در فلاتر”

  1. ali گفت:

    وقتتون بخیر و خسته نباشید
    برای دریافت json و قرار دادن ان در لیست ویو دنبال چه اموزشی باشم ؟
    ممنون از راهنماییتون

    • Hesam گفت:

      سلام آموزش متنی دریافت جیسون و نمایش در لیست داخل مطالب وب سایت موجود هست. بصورت ویدیویی هم داخل دوره آموزشی به صورت کامل این اموزش قرار داده شده است.

  2. جواد گفت:

    سلام در اموزشهای اموزش کار با سرویس هست؟مانند دریافت سرویس برای لیست ویو و یا سرویسهای ثبت و ذخیره؟؟

    • Hesam گفت:

      سلام اگر منظورتون آموزش وب سرویس دریافت اطلاعات و نمایش در لیست ویو هست بله در آموزش های سایت هست.

  3. parisa گفت:

    mrc mn kheili moshkel dashtam

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Hesam
22 مه 2019
آموزش فارسی فلاتر
آموزش فارسی flutter