תלות SOCKS חסרה היא בעיית התקנה מקומית של Python. Requests ו־HTTPX משתמשים בחבילות רשות שונות, לכן התקינו את התוספת עבור הלקוח שהסקריפט מייבא.

Requests

uv add 'requests[socks]'
uv run python -c 'import requests, socks; print(requests.__version__)'

Requests משתמש ב־PySocks. אחרי התקנת התלות, כתובת פרוקסי socks5h:// מוסרת את DNS היעד לפרוקסי SOCKS. נקודת הקצה עצמה חייבת לספק שירות SOCKS.

HTTPX

uv add 'httpx[socks]'
uv run python -c 'import httpx, socksio; print(httpx.__version__)'

HTTPX משתמש ב־socksio; התקנת requests[socks] אינה מספקת את התוספת של HTTPX.

כבר מותקן?

מסוף, IDE, ליבת מחברת ומשימה מתוזמנת יכולים להשתמש בסביבות Python שונות. בדקו את המפרש שמריץ את הסקריפט הכושל:

uv run python -c 'import sys; print(sys.executable)'

הריצו בדיקת ייבוא באותה סביבה. לאחר הצלחתה, נסו שוב את הבקשה עם זמן קצוב; שגיאות אימות, חיבור או תשובת SOCKS בהמשך נוגעות לחיבור עצמו. אם דרושות נקודות ציבוריות לבדיקה הבאה, עיינו ברשימת שרתי פרוקסי SOCKS5 והשאירו את הלקוח במצב SOCKS מתאים.

מאמרים קשורים