Kebergantungan SOCKS yang tiada ialah masalah pemasangan Python setempat. Requests dan HTTPX menggunakan pakej pilihan berbeza, jadi pasang tambahan bagi klien yang diimport oleh skrip.

Requests

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

Requests menggunakan PySocks. Selepas kebergantungan dipasang, URL proksi socks5h:// menyerahkan DNS destinasi kepada proksi SOCKS. Titik akhir sendiri mesti menyediakan perkhidmatan SOCKS.

HTTPX

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

HTTPX menggunakan socksio; pemasangan requests[socks] tidak membekalkan tambahan HTTPX.

Sudah dipasang?

Terminal, IDE, kernel notebook dan tugas berjadual boleh menggunakan persekitaran Python berbeza. Semak pentafsir yang menjalankan skrip gagal:

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

Jalankan semakan import dalam persekitaran yang sama. Apabila berjaya, cuba semula permintaan dengan tamat masa terhad; ralat pengesahan, sambungan atau balasan SOCKS selepas itu berkaitan sambungan sendiri. Jika ujian seterusnya memerlukan titik awam, lihat senarai proksi SOCKS5 dan kekalkan klien dalam mod SOCKS yang sepadan.

Artikel berkaitan