Η έλλειψη εξάρτησης SOCKS είναι πρόβλημα τοπικής εγκατάστασης Python. Requests και HTTPX χρησιμοποιούν διαφορετικά προαιρετικά πακέτα, οπότε εγκαταστήστε το πρόσθετο του πελάτη που εισάγει το σενάριο.

Requests

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

Το Requests χρησιμοποιεί PySocks. Με την εξάρτηση εγκατεστημένη, ένα URL proxy socks5h:// αναθέτει το DNS προορισμού στο SOCKS proxy. Το ίδιο το τελικό σημείο πρέπει να παρέχει υπηρεσία SOCKS.

HTTPX

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

Το HTTPX χρησιμοποιεί socksio· η εγκατάσταση requests[socks] δεν παρέχει το πρόσθετο του HTTPX.

Έχει ήδη εγκατασταθεί;

Τερματικό, IDE, πυρήνας notebook και προγραμματισμένη εργασία μπορεί να χρησιμοποιούν διαφορετικά περιβάλλοντα Python. Ελέγξτε τον διερμηνευτή που εκτελεί το αποτυχημένο σενάριο:

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

Κάντε τον έλεγχο εισαγωγής στο ίδιο περιβάλλον. Όταν πετύχει, δοκιμάστε ξανά το αίτημα με περιορισμένο χρόνο· επόμενα σφάλματα ταυτοποίησης, σύνδεσης ή απάντησης SOCKS αφορούν την ίδια τη σύνδεση. Αν χρειάζεστε δημόσια σημεία για την επόμενη δοκιμή, δείτε τη λίστα SOCKS5 proxy και κρατήστε τον πελάτη στην αντίστοιχη λειτουργία SOCKS.

Σχετικά άρθρα