Tornado ਪ੍ਰੌਕਸੀ ਵਿਕਲਪਾਂ ਲਈ ਸਹੀ HTTP ਬੈਕਐਂਡ ਚਾਹੀਦਾ ਹੈ
ਪ੍ਰੌਕਸੀ ਬੇਨਤੀ ਵਿਕਲਪ ਸੰਰਚਿਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ Tornado ਦੇ ਸਰਗਰਮ HTTP ਕਲਾਇੰਟ ਲਾਗੂਕਰਨ ਦੀ ਜਾਂਚ ਕਰੋ।
Tornado ਇੱਕ ਅਸਿੰਕ੍ਰੋਨਸ HTTP ਕਲਾਇੰਟ ਇੰਟਰਫੇਸ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਦੇ ਹੇਠਾਂ ਵੱਖਰੇ ਲਾਗੂਕਰਨ ਹਨ। ਇਸ ਲਈ ਪ੍ਰੌਕਸੀ ਐਂਡਪੁਆਇੰਟ ਸਹੀ ਹੋਣ ਦੇ ਬਾਵਜੂਦ ਚੁਣੇ ਗਏ ਲਾਗੂਕਰਨ ਕਾਰਨ ਪ੍ਰੌਕਸੀ ਵਿਕਲਪ ਫੇਲ੍ਹ ਹੋ ਸਕਦੇ ਹਨ।
HTTP ਕਲਾਇੰਟ ਦਸਤਾਵੇਜ਼ SimpleAsyncHTTPClient ਨੂੰ ਡਿਫ਼ਾਲਟ ਲਾਗੂਕਰਨ ਵਜੋਂ ਦਰਸਾਉਂਦੇ ਹਨ ਅਤੇ curl-ਆਧਾਰਿਤ ਬਦਲ ਦਾ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਕਰਦੇ ਹਨ। proxy_host ਵਰਗੇ ਬੇਨਤੀ ਵਿਕਲਪਾਂ ਲਈ ਲਾਗੂਕਰਨ-ਵਿਸ਼ੇਸ਼ ਸਹਾਇਤਾ ਨੋਟ ਹੁੰਦੇ ਹਨ। fetch ਕਾਲ ਵਿੱਚ ਵਿਕਲਪ ਜੋੜਨ ਤੋਂ ਪਹਿਲਾਂ ਉਹ ਨੋਟ ਪੜ੍ਹੋ।
ਕਲਾਇੰਟ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਸੰਰਚਿਤ ਕਰੋ
ਜਿਸ ਵਾਤਾਵਰਣ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ curl ਬੈਕਐਂਡ ਹੈ, ਉੱਥੇ ਐਪਲੀਕੇਸ਼ਨ ਆਪਣਾ ਸਾਂਝਾ ਕਲਾਇੰਟ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਇਸਨੂੰ ਚੁਣ ਸਕਦੀ ਹੈ:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
ਫਿਰ ਇੱਛਤ ਕਾਲ ਲਈ ਦਸਤਾਵੇਜ਼ੀ ਪ੍ਰੌਕਸੀ ਹੋਸਟ, ਪੋਰਟ, ਪ੍ਰਮਾਣੀਕਰਨ ਅਤੇ ਟਾਈਮਆਊਟ ਬੇਨਤੀ ਵਿਕਲਪ ਵਰਤੋ। ਹੋਸਟਨਾਮ ਨੂੰ ਸੰਖਿਆਤਮਕ ਪੋਰਟ ਤੋਂ ਵੱਖ ਰੱਖੋ। ਬੈਕਐਂਡ ਚੁਣਨਾ ਆਪਣੇ ਆਪ ਪ੍ਰੌਕਸੀ ਐਂਡਪੁਆਇੰਟ ਨਹੀਂ ਚੁਣਦਾ। ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਜਨਤਕ HTTP ਮਾਰਗ ਲਈ HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਉਨ੍ਹਾਂ ਬੇਨਤੀ ਵਿਕਲਪਾਂ ਲਈ ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ।
ਕਲਾਇੰਟ ਬਣਾਉਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਇਹ ਕੋਡ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਐਪਲੀਕੇਸ਼ਨ ਜਾਂ ਫਰੇਮਵਰਕ HTTP ਕਲਾਇੰਟ ਬਣਾ ਕੇ ਰੱਖ ਸਕਦਾ ਹੈ। ਫੇਲ੍ਹ ਹੋਈ ਬੇਨਤੀ ਵਿੱਚ ਵਰਤੀ ਅਸਲ ਇੰਸਟੈਂਸ ਦੀ ਜਾਂਚ ਕਰੋ, ਬਾਅਦ ਵਿੱਚ ਹੋਰ ਕਲਾਇੰਟ ਬਣਾ ਕੇ ਇਹ ਮੰਨਣ ਦੀ ਥਾਂ ਕਿ ਉਹ ਪਹਿਲੇ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ।
ਨਿਦਾਨ ਲਈ ਸਰਗਰਮ ਬੈਕਐਂਡ ਅਤੇ ਇਸਦੀ ਅਧਾਰ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਸੰਸਕਰਣ ਫੇਲ੍ਹ ਹੋਏ ਪੜਾਅ ਨਾਲ ਦਰਜ ਕਰੋ। ਅਸਮਰਥਿਤ ਬੇਨਤੀ ਵਿਕਲਪ ਨੂੰ ਨੈੱਟਵਰਕ ਟਾਈਮਆਊਟ ਅਤੇ ਪ੍ਰੌਕਸੀ ਵੱਲੋਂ ਵਾਪਸ ਕੀਤੀ HTTP ਪ੍ਰਤੀਕਿਰਿਆ ਤੋਂ ਵੱਖ ਪਛਾਣੋ। ਉਹ ਨਿਰੀਖਣ ਵੱਖਰੇ ਸੁਧਾਰਾਂ ਵੱਲ ਲੈ ਜਾਂਦੇ ਹਨ।