TIdHTTP ၏ SOCKS လမ်းကြောင်းကို ၎င်း၏ IOHandler မှတဆင့် ပို့ပါ
TIdHTTP အသုံးပြုသော Indy 10 IOHandler သို့ SOCKS ဆက်တင်များကို ချိတ်ဆက်ပြီး HTTP ပစ်မှတ်ကို တောင်းဆိုချက်တွင် ထားရှိပါ။
Indy 10 တွင် TIdHTTP ကို ၎င်း၏ IOHandler မှတဆင့် SOCKS ပရောက်စီသို့ ချိတ်ဆက်ပါ။ ဖောင်တွင် Http၊ SocketHandler နှင့် Socks အစိတ်အပိုင်းများ ရှိပြီးဖြစ်သည်ဟု ယူဆပါ:
Http.IOHandler := SocketHandler;
SocketHandler.TransparentProxy := Socks;
Socks.Host := 'proxy.example';
Socks.Port := 1080;
Socks.Version := svSocks5;
Page := Http.Get('http://example.com/');
ဤနေရာတွင် SocketHandler သည် TIdIOHandlerStack ဖြစ်ပြီး Socks သည် TIdSocksInfo ဖြစ်သည်။ တောင်းဆိုချက်မတိုင်မီ အစိတ်အပိုင်းများကို ပြင်ဆင်ပါ။ ပရောက်စီ အထောက်အထားများ မသတ်မှတ်ထားသော ဤအများပြည်သူဆိုက် ဥပမာအတွက် SOCKS5 ပရောက်စီစာရင်းမှ SOCKS5 အလောင်းအလျာတစ်ခုကို ရွေးပြီး အောက်တွင် ဖော်ပြထားသည့်အတိုင်း ဟောင်းနွမ်းသော HTTP ပရောက်စီလမ်းကြောင်းကို ရှင်းလင်းထားပါ။ SOCKS ဗားရှင်းကို ရွေးချယ်ခြင်းသည် အရေးကြီးသည်၊ အကြောင်းမှာ မူလတန်ဖိုးသည် svNoSocks ဖြစ်သည်။
TIdHTTP ၏ ProxyParams သည် HTTP ပရောက်စီကို ပြင်ဆင်သည်။ SOCKS သီးသန့်လမ်းကြောင်းသည် အစား TransparentProxy တွင် ရှိသည်။ ထိုနေရာတွင် HTTP ပရောက်စီကိုပါ ထားရှိခြင်းသည် SOCKS ချိတ်ဆက်မှုအပြင် အခြားကြားခံတစ်ခုကို ဖော်ပြနိုင်သဖြင့် ရည်ရွယ်ထားသော လမ်းကြောင်း၏ အစိတ်အပိုင်းမဟုတ်ပါက ဟောင်းနွမ်းသော HTTP ပရောက်စီ ဖွဲ့စည်းမှုကို ရှင်းလင်းပါ။
SOCKS5 အသုံးပြုသူအမည်/စကားဝှက် စစ်ဆေးမှုအတွက် Socks.Authentication ကို saUsernamePassword သို့ သတ်မှတ်ပြီး အသုံးပြုသူအမည်နှင့် စကားဝှက်ကို ပေးပါ။ SSL ကို ပံ့ပိုးနိုင်သော IOHandler သည် ၎င်း၏ TLS အခန်းကဏ္ဍကို ထိန်းသိမ်းထားသင့်သည်; ရိုးရှင်းသော handler ဖြင့် အစားထိုးမည့်အစား SOCKS ကို ၎င်း၏ အမွေဆက်ခံထားသော ပရောက်စီ အင်တာဖေ့စ်သို့ ချိတ်ဆက်ပါ။