ਇੱਕ ਸੂਚੀ ਬਕਸਾ ਸੌ ਪਰਾਕਸੀ ਦਿਖਾ ਸਕਦਾ ਹੈ, ਪਰ TIdHTTP ਉਹੀ ਇੱਕ ਵਰਤਦਾ ਰਹਿੰਦਾ ਹੈ। ਕੋਈ ਕਤਾਰ ਚੁਣਨ ਨਾਲ ਇੰਟਰਫ਼ੇਸ ਬਦਲਦਾ ਹੈ; ਅਗਲੀ ਬੇਨਤੀ ਦਾ ਰਾਹ ਤਦ ਹੀ ਬਦਲਦਾ ਹੈ ਜਦੋਂ ਚੁਣਿਆ ਗਿਆ ਐਂਡਪੁਆਇੰਟ HTTP ਕਲਾਇੰਟ ਦੀ ਸੰਰਚਨਾ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ।

ਜਨਤਕ HTTP ਡਾਊਨਲੋਡ ਲਈ, HTTP ਪਰਾਕਸੀ ਸੂਚੀ ਦੀਆਂ ਐਂਟਰੀਆਂ ਸੰਭਾਵੀ ਐਂਡਪੁਆਇੰਟ ਦੇ ਸਕਦੀਆਂ ਹਨ। ਹਰ ਦਿਖਾਈ ਗਈ ਐਂਟਰੀ ਪਿੱਛੇ ਇੱਕ ਹੋਸਟ ਅਤੇ ਇੱਕ ਪੂਰਨ ਅੰਕ ਪੋਰਟ ਰੱਖੋ। ਚੋਣ ਮਨਜ਼ੂਰ ਹੋਣ 'ਤੇ, ਡਾਊਨਲੋਡ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਦੋਵੇਂ ਲਾਗੂ ਕਰੋ:

IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);

ਇਹ ਟੁਕੜਾ ਨਿਸ਼ਕਿਰਿਆ ਕਲਾਇੰਟ, ਪ੍ਰਮਾਣਿਤ ਐਂਡਪੁਆਇੰਟ ਅਤੇ ਐਪ ਦੇ ਮੌਜੂਦਾ ਵੇਰੀਏਬਲ ਮੰਨਦਾ ਹੈ। ਟਾਰਗਿਟ URL ਵੈੱਬਸਾਈਟ ਹੀ ਰਹਿੰਦਾ ਹੈ। ਪਰਾਕਸੀ ਹੋਸਟ ਫ਼ੀਲਡ ਹੋਸਟ ਲੈਂਦੀ ਹੈ, ਵੈੱਬਸਾਈਟ ਦਾ URL ਜਾਂ ਦਿਖਾਉਣ ਵਾਲਾ ਲੇਬਲ ਨਹੀਂ।

ਚੋਣ ਲਈ ਤਿੰਨ ਸੰਭਾਵੀ ਨਤੀਜੇ ਚਾਹੀਦੇ ਹਨ

  • ਇੱਕ ਵੈਧ ਪਰਾਕਸੀ ਚੋਣ ਇੱਕ ਹੋਸਟ ਅਤੇ 1 ਤੋਂ 65535 ਤੱਕ ਦਾ ਪੋਰਟ ਦਿੰਦੀ ਹੈ।
  • ਇੱਕ ਸਪਸ਼ਟ Direct ਵਿਕਲਪ ਅਗਲੀ ਬੇਨਤੀ ਲਈ ਪਰਾਕਸੀ ਹੋਸਟ ਖਾਲੀ ਕਰਦਾ ਹੈ।
  • ਅਵੈਧ ਜਾਂ ਗ਼ੈਰ-ਮੌਜੂਦ ਚੋਣ ਮੌਜੂਦਾ ਸੰਰਚਨਾ ਨੂੰ ਅਛੂਤਾ ਛੱਡਦੀ ਹੈ ਅਤੇ ਵਰਤੋਂਕਾਰ ਨੂੰ ਇਸਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਕਹਿੰਦੀ ਹੈ।

ਇਹਨਾਂ ਨਤੀਜਿਆਂ ਨੂੰ ਵੱਖਰਾ ਰੱਖਣ ਨਾਲ ਕੋਈ ਅਣਚੁਣੀ ਕਤਾਰ ਅਗਲੀ ਬੇਨਤੀ ਨੂੰ ਅਚਾਨਕ ਸਿੱਧਾ ਨਹੀਂ ਭੇਜ ਸਕਦੀ। ਨਵੀਂ ਚੋਣ ਅਧੂਰੀ ਹੋਣ ਤੱਕ ਬੇਨਤੀ ਬਟਨ ਬੰਦ ਰੱਖੋ।

ਜੇ ਐਂਡਪੁਆਇੰਟ ਲਿਖਤ ਵਜੋਂ ਆਉਂਦੇ ਹਨ, ਤਾਂ ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਵਿਸ਼ੇਸ਼ਤਾ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹਨਾਂ ਨੂੰ ਪਾਰਸ ਅਤੇ ਪ੍ਰਮਾਣਿਤ ਕਰੋ। TryStrToInt ਇੰਟਰਫ਼ੇਸ ਨੂੰ ਨਾ ਫੜੇ ਗਏ ਰੂਪਾਂਤਰਨ ਅਪਵਾਦ ਤੋਂ ਬਿਨਾਂ ਖ਼ਰਾਬ ਪੋਰਟ ਦੀ ਰਿਪੋਰਟ ਕਰਨ ਦਿੰਦਾ ਹੈ। ਪਹਿਲੇ ਕੋਲਨ 'ਤੇ ਵੰਡਣਾ ਸਿਰਫ਼ ਜਾਣ-ਬੁੱਝ ਕੇ ਸੀਮਿਤ ਹੋਸਟਨਾਮ-ਜਾਂ-IPv4 ਫਾਰਮੈਟ ਲਈ ਹੀ ਢੁਕਵਾਂ ਹੈ: IPv6 ਲਿਟਰਲ ਦੇ ਆਪਣੇ ਕੋਲਨ ਹੁੰਦੇ ਹਨ। ਵੱਖਰੀ ਹੋਸਟ ਫ਼ੀਲਡ ਅਤੇ ਪੋਰਟ ਫ਼ੀਲਡ ਸੰਭਾਲੀ ਪੇਸ਼ਕਾਰੀ ਨੂੰ ਸੌਖਾ ਬਣਾਉਂਦੀਆਂ ਹਨ।

UI ਕਲਿੱਕ ਨੂੰ ਅਜਿਹਾ ਕਲਾਇੰਟ ਬਦਲਣ ਨਾ ਦਿਓ ਜੋ ਕੋਈ ਕਾਮਾ ਪਹਿਲਾਂ ਹੀ ਵਰਤ ਰਿਹਾ ਹੈ। ਚੋਣ ਨੂੰ ਕਾਰਵਾਈਆਂ ਵਿਚਕਾਰ ਲਾਗੂ ਕਰੋ, ਜਾਂ ਹਰ ਸਮਕਾਲੀ ਕਾਰਵਾਈ ਨੂੰ ਆਪਣਾ ਸੰਰਚਿਤ ਕਲਾਇੰਟ ਦਿਓ। ਚੋਣਕਰਤਾ ਭਵਿੱਖ ਦੇ ਕਨੈਕਸ਼ਨ ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ; ਇਹ ਸਥਾਪਿਤ ਟਰਾਂਸਫ਼ਰ ਨੂੰ ਕਿਸੇ ਹੋਰ ਨਿਕਾਸ 'ਤੇ ਨਹੀਂ ਲਿਜਾ ਸਕਦਾ।

ਸੰਬੰਧਿਤ ਲੇਖ