SOCKS დამოკიდებულების არქონა ადგილობრივი Python ინსტალაციის პრობლემაა. Requests და HTTPX განსხვავებულ არჩევით პაკეტებს იყენებს, ამიტომ დააყენეთ სკრიპტის მიერ იმპორტირებული კლიენტის დანამატი.

Requests

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

Requests იყენებს PySocks-ს. დამოკიდებულების დაყენების შემდეგ socks5h:// პროქსი URL დანიშნულების DNS-ს SOCKS პროქსის გადასცემს. თავად ბოლო წერტილი 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 პროქსიების სია და კლიენტი შესაბამის SOCKS რეჟიმში დატოვეთ.

დაკავშირებული სტატიები