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 ಪ್ರತಿಕ್ರಿಯೆಯಿಂದ ಪ್ರತ್ಯೇಕಿಸಿ. ಆ ಅವಲೋಕನಗಳು ಬೇರೆ ಬೇರೆ ಸರಿಪಡಿಸುವಿಕೆಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತವೆ.