Scrapy പ്രോക്സി എൻഡ്പോയിന്റും കണക്ഷൻ IPയും വായിക്കൽ
തിരഞ്ഞെടുത്ത പ്രോക്സിക്ക് അഭ്യർത്ഥനയുടെ മെറ്റാഡാറ്റ ഉപയോഗിക്കുക, response.ip_address ഹാൻഡ്ലർ നൽകുന്ന പിയർ വിവരമായി കാണുക, ലക്ഷ്യസ്ഥാനത്ത് എക്സിറ്റ് IP പരിശോധിക്കുക.
തിരഞ്ഞെടുത്ത പാത പരിശോധിക്കാൻ പൂർത്തിയായ പ്രതികരണത്തോട് ബന്ധിപ്പിച്ച Request ഉപയോഗിക്കുക. മൂന്ന് നിരീക്ഷണങ്ങൾ വേർതിരിച്ച് സൂക്ഷിക്കുക:
| ഫീൽഡ് | അർത്ഥം |
|---|---|
response.request.meta.get('proxy') | ഈ അഭ്യർത്ഥനയുടെ തിരഞ്ഞെടുത്ത പ്രോക്സി URL, ഉള്ളപ്പോൾ |
response.ip_address | ഡൗൺലോഡ് ഹാൻഡ്ലർ നൽകുന്ന വിലാസം, None ആകാം |
| വിശ്വസനീയമായ ലക്ഷ്യത്തിൽ നിന്നുള്ള ഉറവിട റിപ്പോർട്ട് | അവിടെ നിരീക്ഷിച്ച പൊതു ഉറവിടം |
കോൾബാക്കിനുള്ളിൽ, ക്രെഡൻഷ്യലുള്ള URL ഭാഗങ്ങൾ സാധാരണ ഡയഗ്നോസ്റ്റിക്സിൽ നിന്ന് ഒഴിവാക്കുക:
from urllib.parse import urlsplit
proxy = response.request.meta.get('proxy')
proxy_host = urlsplit(proxy).hostname if proxy else None
self.logger.info(
'target_host=%s proxy_host=%s peer_ip=%s',
urlsplit(response.url).hostname, proxy_host, response.ip_address,
)Scrapy 2.13.3-ന്റെ HTTP/1.1 ഹാൻഡ്ലറിൽ വിലാസം പ്രതികരണത്തിന്റെ കണക്ഷൻ പിയറിൽ നിന്നാണ് വരുന്നത്, എക്സിറ്റ്-IP സേവനത്തിൽ നിന്നല്ല. ചില പാതകൾ, പൂജ്യം നീളമുള്ള പ്രതികരണങ്ങൾ ഉൾപ്പെടെ, അത് None ആയി വിടാം. മറ്റ് ഹാൻഡ്ലറുകൾ അത് വ്യത്യസ്തമായി നിറയ്ക്കാം. None സ്വയം നേരിട്ടുള്ള റൂട്ടിംഗ് തെളിയിക്കുന്നില്ല.
എക്സിറ്റ് പരിശോധനയ്ക്ക്, ഉദ്ദേശിക്കുന്ന പ്രോക്സി നയത്തിന് കീഴിൽ വിശ്വസനീയമായ എൻഡ്പോയിന്റിനോട് ചോദിക്കുക, അഭ്യർത്ഥനയുടെ ഐഡന്റിറ്റി നിരീക്ഷണത്തോടൊപ്പം സൂക്ഷിക്കുക. ഭ്രമണം ചെയ്യുന്ന മിഡിൽവെയർ പിന്നീടുള്ള പരിശോധനയ്ക്ക് മറ്റൊരു എൻഡ്പോയിന്റ് നൽകാം.
റീഡയറക്ടുകളും മറ്റൊരു അഭ്യർത്ഥന സൃഷ്ടിക്കുന്നു. അവസാന മെറ്റാഡാറ്റ ആ ഘട്ടത്തെ വിവരിക്കുന്നു; ആദ്യ URL-ന്റെ പാതയ്ക്കുള്ള തെളിവായി കണക്കാക്കുന്നതിനുപകരം റീഡയറക്ട് ചരിത്രവും മിഡിൽവെയറിന്റെ ഏതെങ്കിലും പുനർതിരഞ്ഞെടുപ്പും പരിശോധിക്കുക.