لحد الآن برامجك تشتغل داخل جهازك. لكن بايثون تقدر ترسل رسائل للإنترنت وتستلم ردوداً! مثل ما تتصل بمطعم وتطلب، والرد يوصلك.
كيف؟ بـ urllib المدمجة — نسأل موقعاً عن معلومات ونستلم الجواب:
from urllib.request import urlopen
response = urlopen("https://api.github.com")
text = response.read().decode()
print(text[:200]) # أول 200 حرف من الجوابالموقع يرد غالباً بصيغة JSON — اللي تعرفها من درس المهارات! نجمع الدرسين:
import json
from urllib.request import urlopen
response = urlopen("https://api.github.com")
data = json.loads(response.read().decode())
print(data["current_user_url"])وش صار؟ رسلنا طلباً، استلمنا نص JSON، وحولناه قاموس بايثون بloads — ومن لحظتها نستخدم البيانات كأنها محلية عندنا!
وش معنى API؟ نادل الموقع: المواقع الكبيرة تعرض قائمة طلبات جاهزة (طقس، أسعار، لقطات، ترجمات) — برنامجك يطلب منها برمجياً ويرد عليه. حرفياً: Application Programming Interface — الواجهة اللي تطلب منها البرامج.
وخبر مهم من درس الأمان: لا تثق بالردود! الرد ممكن يتأخر أو يفشل — فنلف الطلب بدرعنا:
try:
response = urlopen("https://api.github.com")
print("وصل الجواب!")
except Exception:
print("الشبكة تعبت — جرب بعدين")بهذا الدرس انفتح على برنامجك العالم: طقس الغد، تحويل عملات، بيانات نجوم — كلها صارت على بعد طلب واحد.