Ushbu qo‘llanma Python’da requests kutubxonasidan foydalanib sesiyalarni yaratish, cookie’larni o‘qish va ularga ishlov berish kabi amaliyotlarni o‘rgatadi.
Sesiyalar va cookie’lar veb-saytlarda foydalanuvchi ma’lumotlarini vaqtincha saqlash va ularga kirishni boshqarishda ishlatiladi. Python’da requests kutubxonasi yordamida bunday funksiyalarni ishlatish juda oson.
Sesiyalar nima?
Sesiyalar foydalanuvchi bir nechta so‘rov yuborayotganida ularga o‘zaro bog‘liq kontekstda ishlash imkonini beradi. Har bir so‘rov bir xil sessiya ichida bo‘lganda, sessiyada saqlangan cookie’lar avtomatik tarzda qo‘llaniladi.
Cookie’lar nima ?
Cookie’lar – bu server va mijoz (foydalanuvchi brauzeri yoki dasturi) o‘rtasida aloqani qo‘llab-quvvatlovchi kichik ma’lumotlar bo‘lib, ular ko‘pincha identifikatsiya maqsadida ishlatiladi.
2 Kutubxonani o‘rnatish
Avval requests kutubxonasini o‘rnatish kerak:
pipinstallrequests
3 Python’da Sesiyalarni Yaratish
Python’dagi requests.Session() obyekti bir necha so‘rovlarni birlashtiruvchi sesiyani yaratish imkonini beradi. Bu barcha so‘rovlar uchun yagona cookie va boshqa sozlamalarni saqlash imkonini beradi.
import requests# Sessiyani yaratishsession = requests.Session()# Sessiya yordamida URL'ga GET so‘rovi yuborishresponse = session.get("https://jsonplaceholder.typicode.com/posts")print(response.status_code)
Asosiy Foydalari
Avtomatik cookie boshqarish: Har bir yangi so‘rovda cookie’lar avtomatik yangilanadi.
Bir xil HTTP so‘rov sozlamalarini saqlash: Misol uchun, bir nechta so‘rovlar davomida foydalanuvchi sessiyasini saqlash.
4 Python’da Cookie’larni O‘qish va Yozish
Sessiya orqali serverdan olingan cookie’larni o‘qish mumkin. Quyidagi misolda cookie’larni olish va chiqarish ko‘rsatilgan.
Cookie’larni O‘qish
# Serverdan cookie’lar olish uchun GET so‘roviresponse = session.get("https://jsonplaceholder.typicode.com/posts")# Serverdan kelgan cookie’larni ko‘rishprint("Cookies:", session.cookies)for cookie in session.cookies:print(cookie.name, ":", cookie.value)
Cookie’larni Yozish yoki Qo‘shish
Cookie’larni qo‘lda yozish yoki sessiyaga yangi cookie qo‘shish uchun set_cookie funksiyasidan foydalaniladi.
# Yangi cookie qo‘shishsession.cookies.set("user_id", "12345")session.cookies.set("session_token", "abcd1234")# Tekshirish uchun chiqarishfor cookie in session.cookies:print(cookie.name, ":", cookie.value)
5 Cookie’lardan Foydalanib Avtorizatsiyalashgan So‘rov Yuborish
Ba'zi veb-saytlar yoki API’lar cookie orqali foydalanuvchini avtorizatsiyalashni talab qiladi. Bunday holatlarda, foydalanuvchi cookie’larini sessiya orqali yuborish mumkin.
6 Ko‘proq Amaliy Misol: Login, Cookie Saqlash va Keyingi So‘rovlarda Foydalanish
Ba’zi veb-saytlarga login bo‘lish uchun POST so‘rovi yuborib, keyingi sahifalarda cookie’larni ishlatish talab qilinadi. Quyidagi misol login qilish va keyin boshqa sahifaga avtorizatsiyalashgan holda kirishni ko‘rsatadi.
Misol: Login orqali Cookie Saqlash
# Login qilish uchun URL va ma'lumotlarlogin_url ="https://example.com/login"login_data ={"username":"your_username","password":"your_password"}# Login qilishresponse = session.post(login_url, data=login_data)# Login muvaffaqiyatli bo‘lsa, cookie’lar saqlanadiif response.status_code ==200:print("Login muvaffaqiyatli!")# Keyingi so‘rov uchun cookie’larni saqlagan holda ma’lumotlarni olish dashboard_url ="https://example.com/dashboard" response = session.get(dashboard_url)print("Dashboard ma’lumotlari:", response.text)else:print("Login muvaffaqiyatsiz. Kod:", response.status_code)
7 Sessiyani Yopish
Yaxshi amaliyot sifatida sessiyani yopish tavsiya etiladi. Sessiyani yopish bilan barcha saqlangan cookie’lar va resurslar tozalanadi.
Bu qo‘llanma yordamida siz Python’da sesiyalar va cookie’lar bilan ishlashni o‘rganasiz. Bu ma'lumotlar foydalanuvchini autentifikatsiya qilish, sessiyani saqlash va boshqarish jarayonlarida keng qo‘llaniladi.