Ilapat ang piniling proxy sa TIdHTTP client ng Delphi
Ikonekta ang pagpili sa listahan ng Delphi sa TIdHTTP proxy configuration, na may mga balidong halaga ng endpoint at tahasang direktang opsyon.
Ang listahan ay maaaring magpakita ng isandaang proxy habang patuloy na ginagamit ng TIdHTTP ang parehong isa. Ang pagpili ng hilera ay nagbabago ng interface; ang susunod na kahilingan ay nagbabago ng ruta kapag naabot na ng piniling endpoint ang configuration ng HTTP client.
Para sa pampublikong pag-download ng HTTP, ang mga entry mula sa listahan ng HTTP proxy ay maaaring magbigay ng mga kandidatong endpoint. Panatilihin ang host at integer na port sa likod ng bawat entry na ipinapakita. Kapag tinanggap ang pagpili, ilapat ang dalawa bago simulan ang pag-download:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
Ipinapalagay ng bahaging ito ang isang client na walang ginagawa, balidong endpoint, at ang mga umiiral na variable ng application. Ang target na URL ay nananatiling website. Ang field ng host ng proxy ay tumatanggap ng host, hindi ang URL ng website o display label.
Ang pagpili ay nangangailangan ng tatlong posibleng resulta
- Ang balidong pagpili ng proxy ay nagbibigay ng host at port mula 1 hanggang 65535.
- Ang tahasang pagpili ng Direct ay naglilinis ng host ng proxy para sa susunod na kahilingan.
- Ang di-balid o nawawalang pagpili ay iniiwan ang kasalukuyang configuration at hinihiling sa user na itama ito.
Ang paghihiwalay ng mga resultang ito ay pumipigil sa isang hilerang hindi pinili na hindi inaasahang magpadala ng susunod na kahilingan nang direkta. I-disable ang pindutan ng kahilingan habang hindi pa kumpleto ang bagong pagpili.
Kung ang mga endpoint ay dumating bilang teksto, i-parse at balidahin ang mga ito bago baguhin ang alinman sa dalawang property. Pinapayagan ng TryStrToInt ang interface na iulat ang masamang port nang walang nahuling conversion exception. Ang paghahati sa unang tutuldok ay angkop lamang para sa sadyang limitadong format na hostname-o-IPv4: ang IPv6 literal ay may sariling mga tutuldok. Ang hiwalay na field ng host at field ng port ay nagpapasimple sa nakaimbak na representasyon.
Huwag hayaang baguhin ng pag-click sa UI ang client na ginagamit na ng isang worker. Ilapat ang pagpili sa pagitan ng mga operasyon, o bigyan ang bawat sabay na operasyon ng sarili nitong naka-configure na client. Kinokontrol ng pumipili ang mga susunod na koneksyon; hindi nito maililipat ang naitatag na transfer sa ibang labasan.