خب!
داستان از جایی شروع شد که حدود 6-7 ماه پیش، با دوستم و تشویق معاون فناوریمون، تصمیم گرفتیم بشینیم و یک PWA بزنیم! قرار شد من قسمتی که متنفرم رو انجام بدم(فرانت اِند) و دوستم بک اند رو انجام بده(به فرانت علاقه نداشتم، از روی داکیومنت های کتابخونه ای بنام FLET توی پایتون اینکارو میکردم). خلاصه اونجا بود که به درک عمیق تری از API رسیدم چون لازم داشتم لینکش کنم به فرانت. با کلی علاقه هم نشستیم و پروژمونو کامل کردیم ولی فهمیدیم زمانی که استارت کردیم، باید پروژه رو تحویل میدادیم😐(خیلی ناراحت شدیم).
خلاصه تا قبل از پروژه، درک من از API ها به این ختم میشد که به یک جایی با یسری متد یه چیزیو میگی(و حتما هم اون چیز باید توی لینک باشه) و اونم یک چیزیو بهت میگه. این کار هم با فقط پایتون انجام میدادم و اتفاقا یسری کار هم مثل Track کردن ایستگاه فضایی هم انجام داده بودم. تا اینکه با چیزی بنام postman آشنا شدم و خب ازون لحظه شروع کردم چیز های جدید آموختن!
خلاصه گذشت و گذشت و من هر روز با اشتیاق تر دنبال API های سایت های مختلف میگشتم و اونارو سیخ میکردم. مثلا توی شهر ما، احتمالا شهرداری یک سیستمیو درست کرده که بهت میگه فلان اتوبوس چقدر دیگه میرسه به فلان ایستگاه(گرچه هنوز کلی مشکل داره و بعضی وقتا که یک راننده فراموش میکنه خط مسیرشو عوض کنه، کل ایستگاه هارو میزنه نامشخص!) و من API ایستگاه رفتن به مدرسه ام رو برداشته بودم و مستقیم از اون نگاه میکردم(حتی تو ذهنم بود با آردینو ترکیبش کنم و یک چیز جالب بسازم).
تا اینکه نیاز من به جایی رسید که از اسنیفر استفاده کنم. تا قبل از اون، اسنیفر من تب Network توی قسمت Developer toolsمرورگرها بود.
یکمی سرچ کردم و به نرم افزار هایی مثل wire shark و Fiddler و burp suite و... رسیدم. تا وقتی که فهمیدم خود postman این قابلیتو داره و این چیزی بود که میخواستم!
چطوری؟ فقط کافیه افزونه اش رو نصب کنید و توی پستمن اون پایین روی start proxy کلیک کنید.
و بعدش با صفحه زیر مواجه میشید که همه APIهارو میگه
حالا خیلی راحت میتونید هر درخواست رو کلیک کنید و دوباره بفرستید، جعلش کنید یا کارایی که میتونید یکمی راجبش فکر کنید. در ادامه یک مثال میارم.
خب. شما با این کارای خیلی جالب و بزرگتری میتونید کنید. فقط برای باز کردن ذهنتون میتونم به API ارسال پیامک کد تایید اشاره کنم.
در اینجا ما از یک مثال دیگه استفاده میکنیم. یک سایتی هست که ذکر شماره(باور کنید! فکر نکنید همستری چیزیه). نحوه کارکرد این سایت اینجوریه که دوتا دکمه وسط صفحه هست که هرکدوم مربوط به یک ذکره و با فشردن اون، به سرور یک API میفرسته که یک ذکر به تعداد اونا اضافه کنه. و در این حین دائما از سرور تعداد ذکرا رو میگیره.
همون طور که میدونید، اضافه کردن ذکر رو با AddZekr انجام میشه و استعلام تعداد ذکرا با GetZekrTotal.
خب حالا میریم توی پستمن و برای دیدن جرئیات، یک استعلام ذکر و یک اضافه کردن ذکر رو باز میکنیم.
خب میبینید؟ خیلی سادست و با زدن اون دکمه send میتونید دوباره APIرو بفرستید!
نحوه کارکردش هم خیلی سادست و با یک نگاه کلی به ریسپانس میشه فهمید.
خب حالا جایی داستان جذاب میشه که بفهمید میشه با زدن یک گزینه که داخل پستمنه، کد اون رو به هر زبان و حالتی که میخواید بگیرید(توی نوار سمت راستی پستمنه دکمه). بعدش میتونید روی یک دور تکرار بندازید و یسری کارایی ازین قبیل انجام بدید.
خب. شما خواننده عزیز که ممکنه ازون هکرایی باشی که شکست نفسی میکنی که داری با خودت میگی "این یارو رفته یک صلوت شمارو اینجوری کرده و اینکه کاری نداره"، در جواب میگم این مثالی که گفتم صرفا جنبه آموزشی داره و میشه کلی API دیگه رو درآورد و کارای خیلی جالب تر کرد.
توی این مطلب میخواستم صرفا قابلیت اسنیفینگ پستمن رو نشونتون بدم که احتمالا یسریا نمیدونن.
سعی کردم خیلی هم وارد جزئیات نشم که چطوری کد رو میگیری و این داستانا. بقیه اش با کسی که علاقه داره!
محرم رو تسلیت عرض میکنم.
فعلا خدانگهدار.