رفتن به مطلب

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

 

Factorial

آموزش کامل ماژول Requests در پایتون | Requests Module In Python

پست های پیشنهاد شده

به نام خداوند مهربان

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

با عرض سلام و ادب خدمت کاربران عزیز امروز قصد دارم کار با ماژول Requests رو به شما یاد بدم :kolah

میشه گفت ماژول مهمی است و تا جایی که دیدم آموزشی برای این ماژول در سایت های ایرانی قرار داده نشده [ مطمئن نیستم !]

 

قبل از آموزش بیاید کمی با ماژول Requests آشنا شویم Requests یک کتابخانه HTTP مجاز ISC هست که برای زبان پایتون نوشته شده

 

در پایتون به صورت پیش فرض از ماژول urllib برای ارسال درخواست و دریافت HTTP استفاده میشه که در ادامه میپردازیم به قابلیت هایی که ماژول Requests رو متمایز میکنه نسبت به ماژول urllib

 

ماژول requests یکپارچگی کاملی با وبسایت ایجاد میکنه و نیازی نیست که post data خود را Encode کنید و یا query strings خود را به صورت دستی وارد کنید زیرا ماژول Requests اینکار ها رو 100% به صورت خودکار انجام میده

 

چه کسانی از ماژول Requests استفاده میکنند ؟

Native Instruments

The Washington Post

Twitter

Readability

Federal US Institutions

و جالب است بدانید که ماژول requests بیشتر از 100,000 بار از PyPI نصب شده است!

 

ویژگی های ماژول requests :

  • ماندگاری درخواست های شما به مدت زیاد
  • فشرده سازی به صورت خودکار
  • پشتیبانی از .netrc
  • ایجاد session با مقاومت زیاد به همراه Cookie
  • SSL Verification
  • Basic/Digest Authentication
  • Elegant Key/Value Cookies
  • Unicode Response Bodies
  • Multipart File Uploads
  • Connection Timeouts

در ادامه میپردازیم به نصب ماژول requests و کار کردن باهاش رو شروع میکنیم با ما همراه باشید

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 

 


53.gif

 

The Names Can Be Fake But The Abilities Never

[ White Hat Hacker ]

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به نام خداوند بخشنده مهربان

 

با ادامه آموزش ماژول Requests در خدمت شما دوستان عزیز هستیم. در این قسمت با نصب این ماژول روی انواع سیستم عامل ها آشنا میشوید و سپس شروع میکنیم با کار کردن با این ماژول ! :kolah

 

برای نصب ماژول Requests در Ubuntu & Debian به صورت زیر عمل میکنیم :

 

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 

در Fedora & RedHat هم به صورت زیر عمل میکنیم :

 

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 

در Windows هم ابتدا pip را نصب کرده و دستور زیر را وارد کنید :

 

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 

آموزش تصویری نصب و راه اندازی پایتون در Windows

 

برای دانلود pip از لینک زیر استفاده کنید :

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

برای نصب هم کافیه دستور زیر رو بزنید:

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 

و در ادامه شروع میکنیم کار کردن با ماژول Requests با ما همراه باشید :kolah53.gif

 


53.gif

 

The Names Can Be Fake But The Abilities Never

[ White Hat Hacker ]

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با ادامه آموزش ماژول requests در خدمت شما دوستان هستیم سعی میکنم کاملا آسون مطالب رو برسونم که دوستانی که تازه شروع کردن به مشکلی بر نخورند !:kolah

نکته : من از python 2.7 استفاده میکنم.!

نکته شماره 2 : HTTP یک protocol برای ارتباط میان Client و Server هست و به صورت Request و Response عمل می‌کند و ما قراره در این آموزش از متد های Post و Get در Http استفاده کنیم. متد get برای درخواست اطلاعات از یک منبع می‌باشد و متد post یکسری اطلاعات را ثبت کرده و به یک منبع ارسال می‌کند تا پردازش شوند. ارسال اطلاعات از متد get به server با استفاده از URL صورت‌ می‌گیرد.

 

بیایید اولین Request خود را ارسال کنیم تا بیشتر با ماژول requests آشنا شویم برای ارسال یک request از نوع متد get به روش زیر عمل میکنیم :

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 

همان طور که مشاهده میکنید توانستیم به راحتی یک درخواست از نوع متد GET ارسال کنیم بزارید تا کد بالا را برای شما مختصر توضیح دهم

 

در خط اول ما ماژول Requests را فراخوانی کردیم تا از آن استفاده کنیم

در خط بعد متغییری ساختم به نام baz_kardan و در آن مقدار requests.get(url, timeout=5) را قرار دادم

در خط بعد گفتم که برایم مقادیری که از ارسال این درخواست برگشته را برایم چاپ کند

 

  • timeout = مقدار زمانی که شما منتظر می مانید تا جواب درخواست برای شما بیاید
  • baz_kardan.cookies : به شما کوکی استفاده شده را نمایش می دهد!
  • baz_kardan.status_code : به شما کد وضعیت صفحه را نمایش میدهد !
  • baz_kardan.headers : به شما برخی اطلاعات موجود در هدر را نمایش میدهد!
  • baz_kardan.url : به شما ادرسی که این درخواست به آن فرستاده شده است را نمایش میدهد !
  • baz_kardan.text : به شما کل محتوای صفحه را نمایش میدهد!
  • baz_kardan.content : به شما محتوای صفحه را نمایش میدهد مانند .text عمل میکند !

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

ادامه دارد !


53.gif

 

The Names Can Be Fake But The Abilities Never

[ White Hat Hacker ]

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به نام خداوند بخشنده مهربان

 

 

درود با ادامه آموزش ماژول requests در خدمت شما دوستان عزیز هستیم در جلسه قبل با کاربرد متد GET آشنا شدیم و در این جلسه قصد داریم با متد POST آشنا بشیم !

 

بزارید یک مثال کاربردی برایتان بزنم :

ما قراره برنامه ای بسازیم که با وارد کردن نام کاربری و گذرواژه وارد یک سایت که از سیستم مدیریت محتوای وردپرس استفاده میکند بشود و کل محتوای صفحه را در یک فایل html ذخیره کند !

شما با کاربرد session در این قسمت آشنا خواهید شد. session یک ویژگی مهم ماژول Requests هست

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

در اولین خط ما ماژول Requests رو فراخوانی کردیم سپس یک session ایجاد کردیم تا بعد از login شدن اطلاعات پایدار باشند

در خط بعدی یک Header تعریف کردیم سپس از کاربر خواستیم تا username و password را برای ورود به سایت وارد کند

سپس یک متغیری با نام login_go ایجاد کردیم تا از آن برای ارسال درخواست استفاده کنیم

در خط بعدی متغیری برای چک کردن این که آیا سایت مورد نظر Wordpress است یا خیر ایجاد کردیم با نام Check_wordpress و مقدار آن را اینگونه وارد کردیم session.get(login_go, timeout=10) سپس متغیری از نوع dict ( واژه نامه یا دیکشنری)برای دریافت کوکی ایجاد کردیم تا کوکی استفاده شده در آن ذخیره شود

در خط بعد با یک دستور شرطی گفتیم که : اگر مقدار 'Powered by WordPress' در Check_wordpress.text بود برای ما کار های زیر را انجام بده در غیر این صورت پیام : 'wordpress login page Not Found !' را چاپ کن

 

سپس برای ارسال با متد POST یک متغیری با نام post_data ایجاد کردیم تا data خودمان را در آن قرار دهیم ! ( به شما توضیح میدم چطوری data رو از source پیدا کنید )

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 

همان طور که مشاهده میکنید ما فقط با name و value ها کار داریم به Video زیر توجه کنید :

[MEDIA=aparat]QrbuJ[/MEDIA]

سپس متغیری با نام Get_login ایجاد میکنیم و مقدار session.post(login_go, data=post_data, headers=headers, cookies=cookies, timeout=10) را در آن قرار میدهیم

در خط بعد میگویم : اگر مقدار '<li id="wp-admin-bar-logout">' در Get_login.text موجود بود کارهای زیر رو انجام بده در غیراینصورت برای ما مقدار 'maybe username and password is wrong! try again' چاپ کن.

اگر برنامه با موفقیت به مرحله بعد برسد برای ما مقدار ' yeah, we login Successfully!' را نمایش میدهد در غیراینصورت پیام مرحله قبل نمایش داده خواهد شد,

برای فهم بهتر من مقدار cookie استفاده شده را هم نمایش دادم تا شما بهتر متوجه شوید

و در مرحله اخر گفتم که یک فایل با نام result.html ایجاد کنه و Get_login.text را در آن قرار دهد !

 

شما با یک بار تمرین کاملا مسلط خواهید شد. :kolah

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.


53.gif

 

The Names Can Be Fake But The Abilities Never

[ White Hat Hacker ]

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

استفاده از Proxy در ماژول Requests

Example one

 

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 

Example Two

دریافت لیست پراکسی و ارسال درخواست

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 


53.gif

 

The Names Can Be Fake But The Abilities Never

[ White Hat Hacker ]

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با ادامه آموزش ماژول requests در خدمت شما دوستان هستیم سعی میکنم کاملا آسون مطالب رو برسونم که دوستانی که تازه شروع کردن به مشکلی بر نخورند !:kolah

نکته : من از python 2.7 استفاده میکنم.!

نکته شماره 2 : HTTP یک protocol برای ارتباط میان Client و Server هست و به صورت Request و Response عمل می‌کند و ما قراره در این آموزش از متد های Post و Get در Http استفاده کنیم. متد get برای درخواست اطلاعات از یک منبع می‌باشد و متد post یکسری اطلاعات را ثبت کرده و به یک منبع ارسال می‌کند تا پردازش شوند. ارسال اطلاعات از متد get به server با استفاده از URL صورت‌ می‌گیرد.

 

بیایید اولین Request خود را ارسال کنیم تا بیشتر با ماژول requests آشنا شویم برای ارسال یک request از نوع متد get به روش زیر عمل میکنیم :

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

[ATTACH=full]1457[/ATTACH]

 

همان طور که مشاهده میکنید توانستیم به راحتی یک درخواست از نوع متد GET ارسال کنیم بزارید تا کد بالا را برای شما مختصر توضیح دهم

 

در خط اول ما ماژول Requests را فراخوانی کردیم تا از آن استفاده کنیم

در خط بعد متغییری ساختم به نام baz_kardan و در آن مقدار requests.get(url, timeout=5) را قرار دادم

در خط بعد گفتم که برایم مقادیری که از ارسال این درخواست برگشته را برایم چاپ کند

 

  • timeout = مقدار زمانی که شما منتظر می مانید تا جواب درخواست برای شما بیاید
  • baz_kardan.cookies : به شما کوکی استفاده شده را نمایش می دهد!
  • baz_kardan.status_code : به شما کد وضعیت صفحه را نمایش میدهد !
  • baz_kardan.headers : به شما برخی اطلاعات موجود در هدر را نمایش میدهد!
  • baz_kardan.url : به شما ادرسی که این درخواست به آن فرستاده شده است را نمایش میدهد !
  • baz_kardan.text : به شما کل محتوای صفحه را نمایش میدهد!
  • baz_kardan.content : به شما محتوای صفحه را نمایش میدهد مانند .text عمل میکند !

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

ادامه دارد !

سلام من کتاب خونه رو نصب کردم (تو cmd نوشتم

pip install requests

و اینتر رو زدم دانلود شد بعد اومدم این کد شما رو دقیق کپی و تو یه فایلی کپی کردم و اجرا کردم به کلمه "baz_kardan" اولین خط پرینت ارور می ده.

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام و عرض ادب خدمت کاربر گرامی اقا محمد صالح

 

شما دارید از پایتون نسخه 3 استفاده میکنید! و این اموزش برای نسخه 2 هست البته هیچ فرقی ندارن فقط یه کوچولو Syntax ها تفاوت داره

مثلا شما توی نسخه 2 اینطوری استفاد میکنید برای دیدن کوکی ها

print baz_kardan.cookies

ولی توی نسخه 3 باید برای تابع print از پرانتز استفاده کنی به این صورت

print(baz_kardan.cookies)

 

موفق و پیروز باشید


53.gif

 

The Names Can Be Fake But The Abilities Never

[ White Hat Hacker ]

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام و عرض ادب خدمت کاربر گرامی اقا محمد صالح

 

شما دارید از پایتون نسخه 3 استفاده میکنید! و این اموزش برای نسخه 2 هست البته هیچ فرقی ندارن فقط یه کوچولو Syntax ها تفاوت داره

مثلا شما توی نسخه 2 اینطوری استفاد میکنید برای دیدن کوکی ها

print baz_kardan.cookies

ولی توی نسخه 3 باید برای تابع print از پرانتز استفاده کنی به این صورت

print(baz_kardan.cookies)

 

موفق و پیروز باشید

ممنون بابت پاسختون

کد رو اصلاح کردم حالا به خط اول ارور می ده.

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

من قبلا کد نصب این کتاب خونه رو زدم وقتی دوباره این کد رو می زنم این جوری می شه (تو یه فیلم که داشت از یه کتابخونه دیگه استفاده می کرد کدش رو دیدم که زد یه چیزای دیگه ای ردیف شد ممکنه من pip یا نصب کتاب خونم مشکل داشته باشه؟

اینم عکس کد و اروری که موقع ران کردن می ده

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام مجدد

CMD را با run as Administrator اجرا کنید و دوباره ماژول requests رو نصب کنید

اگر خطا گرفتید از Powershell استفاده کنید


53.gif

 

The Names Can Be Fake But The Abilities Never

[ White Hat Hacker ]

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ی دوستی گیر نصب کتابخانه داشت

بنظرم مشکل این است ک در فضای پایتون نصب انجام ندادی و خارج از فضای پایتون هستید

اول در cmd بزن python

خط بعد بزن import bs4

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
ی دوستی گیر نصب کتابخانه داشت

بنظرم مشکل این است ک در فضای پایتون نصب انجام ندادی و خارج از فضای پایتون هستید

اول در cmd بزن python

خط بعد بزن import bs4

با سلام.

برای نصب ماژول Bs4 در CMD خودتون دستور زیر رو وارد کنید :

 

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 

بعدش میتونید استفاده کنید

موفق باشید ./


Живи один, чтобы воплотить твои мечты

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در ۱۳۹۸/۴/۲۴ در 20:27، mohammadsaleh40 گفته است :

ممنون بابت پاسختون

کد رو اصلاح کردم حالا به خط اول ارور می ده.

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

من قبلا کد نصب این کتاب خونه رو زدم وقتی دوباره این کد رو می زنم این جوری می شه (تو یه فیلم که داشت از یه کتابخونه دیگه استفاده می کرد کدش رو دیدم که زد یه چیزای دیگه ای ردیف شد ممکنه من pip یا نصب کتاب خونم مشکل داشته باشه؟

اینم عکس کد و اروری که موقع ران کردن می ده

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


تاریخچه انجمن امنیتی ایران سایبر

شرکت امنیتی ایران سایبر با بکار گیری افراد متخصص در حوزه امنیت و ارائه راه کار در زمینه امنیت شبکه و امنیت بانک های اطلاعاتی در سال ۲۰۰۹ کار خود را آغاز نمود.

این شرکت با تعریفی جدید از ارائه خدمات و مشاوره در حوزه امنیت سازمان ها و مراکز، تست نفوذ، و برنامه نویسی در تعاملی سازنده با سازمان ها، مشتری مداری را سرلوحه کار خود قرار داده و آماده همکاری با شرکت ها و ارگان های مختلف می باشد.

رعایت قوانین

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

×
×
  • اضافه کردن...