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 പ്രതികരണത്തിൽ നിന്നും വേർതിരിക്കുക. ആ നിരീക്ഷണങ്ങൾ വ്യത്യസ്ത പരിഹാരങ്ങളിലേക്ക് നയിക്കുന്നു.