SOCKS დამოკიდებულებები აკლია Requests-ს ან HTTPX-ს
დააყენეთ სწორი SOCKS დანამატი და შეამოწმეთ, იყენებს თუ არა სკრიპტი იმ Python გარემოს, სადაც ის დაყენებულია.
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 რეჟიმში დატოვეთ.