0Pricing
Web Scraping & Bots · درس

إدارة الجلسات وملفات تعريف الارتباط

تعلّم كيف تحافظ الروبوتات على الحالة بين الطلبات باستخدام الجلسات وملفات تعريف الارتباط والرموز، لتشغيل مهام سير العمل الموثّقة ومتعددة الخطوات.

إدارة الجلسات وملفات تعريف الارتباط درس مجاني في Web Scraping & Bots على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Web Scraping & Bots، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Web Scraping & Bots 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

HTTP Is Stateless

Each HTTP request is independent: the server forgets you between calls. To build multi-step workflows, a bot must carry state itself.

Cookies and sessions are how that state travels between requests.

What a Cookie Is

A cookie is a small key-value pair the server sets via a Set-Cookie header. The client returns it on every subsequent request, letting the server recognize the same client.

Set-Cookie: session_id=abc123; Path=/; HttpOnly

Session Objects

The requests.Session object automatically stores and resends cookies across requests, so a login persists for the rest of your workflow.

import requests

session = requests.Session()
session.post('https://site.com/login', data={'user': 'a', 'pass': 'b'})
# cookies now persist on subsequent calls
profile = session.get('https://site.com/profile')

Inspecting Cookies

You can read what cookies a session holds. This helps debug why an authenticated request unexpectedly redirects to a login page.

for c in session.cookies:
    print(c.name, '=', c.value)

Setting Cookies Manually

Sometimes you obtain a cookie elsewhere (a browser export) and inject it into your session to skip the login step.

session.cookies.set('session_id', 'abc123', domain='site.com')

CSRF Tokens

Forms often embed a hidden CSRF token that must be sent back on submit. Scrape it from the page first, then include it in your POST.

page = session.get('https://site.com/form')
token = extract_hidden(page.text, 'csrf_token')
session.post('https://site.com/form', data={'csrf_token': token, 'msg': 'hi'})

Bearer Tokens

API-driven sites issue a token after login that you send in an Authorization header rather than as a cookie. Store it and attach it to every call.

token = login_resp.json()['access_token']
session.headers.update({'Authorization': 'Bearer ' + token})

Persisting Sessions to Disk

To resume a workflow later without re-authenticating, serialize the cookie jar and reload it on the next run.

import pickle

with open('cookies.pkl', 'wb') as f:
    pickle.dump(session.cookies, f)

# later
with open('cookies.pkl', 'rb') as f:
    session.cookies.update(pickle.load(f))

Handling Expiry

Sessions and tokens expire. Detect a redirect to login or a 401 response, then re-authenticate transparently before retrying the original request.

resp = session.get(url)
if resp.status_code == 401:
    relogin(session)
    resp = session.get(url)

Sessions in Selenium

In a browser-driven bot, Selenium manages cookies for you. You can still read or transplant them between a requests.Session and the browser to share authentication.

for c in driver.get_cookies():
    session.cookies.set(c['name'], c['value'])

Security of Stored Sessions

A saved cookie jar is as sensitive as a password: anyone with it can act as you. Store session files with restricted permissions and never commit them to version control.

import os
os.chmod('cookies.pkl', 0o600)  # owner read/write only

Quick Check

Test your understanding of session management.

Recap

You learned how bots maintain state: cookies, requests.Session, CSRF and bearer tokens, persisting cookies to disk, handling expiry with re-login, and sharing auth between Selenium and requests.

Managing sessions is essential for any authenticated multi-step workflow.

الأسئلة الشائعة

هل درس «إدارة الجلسات وملفات تعريف الارتباط» مجاني؟

نعم — نص درس «إدارة الجلسات وملفات تعريف الارتباط» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Web Scraping & Bots، انتقل إلى CoddyKit PRO. تتضمن دورة Web Scraping & Bots 4 دروس في المجموع.

ماذا ستتعلم في «إدارة الجلسات وملفات تعريف الارتباط»؟

تعلّم كيف تحافظ الروبوتات على الحالة بين الطلبات باستخدام الجلسات وملفات تعريف الارتباط والرموز، لتشغيل مهام سير العمل الموثّقة ومتعددة الخطوات. تتمرن على Web Scraping & Bots مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Web Scraping & Bots؟

لا تُشترط خبرة سابقة. Web Scraping & Bots على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «إدارة الجلسات وملفات تعريف الارتباط»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Web Scraping & Bots هذا؟

نعم. كل درس في Web Scraping & Bots يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التعامل مع مصادقة المستخدم
  2. محاكاة مسارات المستخدم المعقدة
  3. الدمج مع واجهات API
  4. إدارة الجلسات وملفات تعريف الارتباط
← العودة إلى Web Scraping & Bots