Requests သို့မဟုတ် HTTPX တွင် SOCKS မှီခိုပက်ကေ့ချ်မရှိခြင်း
မှန်သော SOCKS extra ကိုတပ်ဆင်ပြီး script သည် ထို Python ပတ်ဝန်းကျင်ကို သုံးကြောင်းစစ်ပါ။
SOCKS မှီခိုပက်ကေ့ချ်မရှိခြင်းသည် စက်တွင်း Python တပ်ဆင်မှု ပြဿနာဖြစ်သည်။ Requests နှင့် HTTPX သည် မတူသော ရွေးချယ်ပက်ကေ့ချ်သုံးသဖြင့် script import လုပ်သည့် client ၏ extra ကိုတပ်ဆင်ပါ။
Requests
uv add 'requests[socks]'
uv run python -c 'import requests, socks; print(requests.__version__)'
Requests က PySocks သုံးသည်။ ထိုမှီခိုမှုတပ်ဆင်ပြီးလျှင် socks5h:// ပရောက်စီ URL သည် ပစ်မှတ် DNS ကို SOCKS ပရောက်စီအားလွှဲပေးသည်။ endpoint ကိုယ်တိုင် SOCKS ဝန်ဆောင်မှုပေးရမည်။
HTTPX
uv add 'httpx[socks]'
uv run python -c 'import httpx, socksio; print(httpx.__version__)'
HTTPX က socksio သုံးသည်။ requests[socks] တပ်ဆင်ခြင်းက HTTPX extra မပေးပါ။
တပ်ဆင်ပြီးသားလား
terminal၊ IDE၊ notebook kernel နှင့် အချိန်ဇယားအလုပ်သည် Python ပတ်ဝန်းကျင်မတူနိုင်ပါ။ မအောင်မြင်သော script ကိုမောင်းသည့် interpreter ကိုစစ်ပါ။
uv run python -c 'import sys; print(sys.executable)'
import စစ်ဆေးမှုကို အလားတူပတ်ဝန်းကျင်တွင်လုပ်ပါ။ အောင်မြင်လျှင် ကန့်သတ် timeout နှင့် request ပြန်စမ်းပါ။ နောက်ပိုင်း အထောက်အထား၊ ချိတ်ဆက်မှု သို့မဟုတ် SOCKS reply အမှားတို့သည် ချိတ်ဆက်မှုကိုယ်တိုင်၏ ပြဿနာဖြစ်သည်။ နောက်စမ်းသပ်မှုအတွက် အများသုံး endpoint လိုလျှင် SOCKS5 ပရောက်စီစာရင်းကိုကြည့်ပြီး client ကိုကိုက်ညီသော SOCKS mode တွင်ထားပါ။