ഓരോ പ്രോക്സി സെഷനും Ruby Mechanize ഏജന്റ് സൂക്ഷിക്കുക
Ruby Mechanize ഏജന്റിന്റെ പ്രോക്സി ഒരിക്കൽ ക്രമീകരിച്ച്, ബന്ധപ്പെട്ട അഭ്യർത്ഥനകൾക്ക് വീണ്ടും ഉപയോഗിക്കുക, കൂടാതെ കുക്കി അവസ്ഥയും സ്ഥിരമായ കണക്ഷനുകളും ബോധപൂർവ്വം പരിമിതപ്പെടുത്തുക.
HTTP പ്രതികരണങ്ങൾ പരിശോധിക്കുകയും സാധാരണ ലിങ്കുകൾ പിന്തുടരുകയും ചെയ്യുകയാണ് ജോലിയെങ്കിൽ, പൂർണ്ണ ബ്രൗസർ എല്ലായ്പ്പോഴും ആവശ്യമല്ല. Ruby Mechanize ആ അഭ്യർത്ഥനകൾ നിർവ്വഹിക്കുന്ന ഏജന്റിൽ പ്രോക്സി വെളിപ്പെടുത്തുന്നു:
agent = Mechanize.new('office-route')
begin
agent.set_proxy('proxy.example', 8080)
page = agent.get('https://www.example.com/')
puts page.code
ensure
agent.shutdown
endഇത് mechanize ലൈബ്രറി ലോഡ് ചെയ്തിട്ടുണ്ടെന്ന് അനുമാനിക്കുന്നു. പ്രോക്സി പ്രാമാണീകരണമില്ലാതെ അനുവദനീയമായ പൊതു പേജ് പരിശോധനയ്ക്ക് HTTP പ്രോക്സി പട്ടിക ഉദാഹരണത്തിന് അനുയോജ്യമായ ഹോസ്റ്റ്/പോർട്ട് മൂല്യങ്ങൾ നൽകുന്നു. endpoint ആവശ്യപ്പെടുമ്പോൾ proxy രീതി ഉപയോക്തൃനാമവും പാസ്വേഡും ഐച്ഛിക മൂന്നാമത്തെയും നാലാമത്തെയും ആർഗ്യുമെന്റുകളായി സ്വീകരിക്കുന്നു.
ഒരേ ബ്രൗസിംഗ് സെഷനിൽ ഉള്ള അഭ്യർത്ഥനകൾക്ക് ക്രമീകരിച്ച ഏജന്റ് വീണ്ടും ഉപയോഗിക്കുക. ഇത് കുക്കികളും ചരിത്രവും കൂടാതെ നെറ്റ്വർക്ക് ക്രമീകരണങ്ങളും വഹിക്കുന്നു. എക്സിറ്റ് പ്രോക്സി മാറ്റുന്നത് സ്വയമേവ പുതിയ ഐഡന്റിറ്റി സൃഷ്ടിക്കുകയോ ലോഗിൻ കുക്കി ഉപേക്ഷിക്കുകയോ ചെയ്യുന്നില്ല.
പല പ്രോക്സി സെഷനുകൾക്ക്, ജോലി നടക്കുമ്പോൾ ഒരു പങ്കിട്ട ഏജന്റ് മാറ്റുന്നതിനുപകരം ഓരോന്നിനും സ്വന്തം ഏജന്റ് നൽകുക. വേർതിരിച്ച SSL കണക്ഷനുകൾ ആവശ്യമുള്ളപ്പോൾ ലൈബ്രറി അദ്വിതീയ കണക്ഷൻ പേരുകളും രേഖപ്പെടുത്തുന്നു; ഉദാഹരണത്തിലെ കൺസ്ട്രക്ടർ പേര് ആ തിരഞ്ഞെടുപ്പ് വ്യക്തമാക്കുന്നു.
ബന്ധപ്പെട്ട URL പരിശോധനകൾ പ്രോക്സി അനുസരിച്ച് ഗ്രൂപ്പ് ചെയ്യുന്നത് അനാവശ്യമായ പുനഃക്രമീകരണം കുറയ്ക്കാം. ഫലം അത് സൃഷ്ടിച്ച റൂട്ടിനും URL-നും ബന്ധിപ്പിച്ച് സൂക്ഷിക്കുക, റീഡയറക്ടുകളും പിശക് പ്രതികരണങ്ങളും ഉൾപ്പെടെ.
Mechanize ബ്രൗസറിന്റെ JavaScript നിർവ്വഹണം പുനർനിർമ്മിക്കുന്നില്ല. പരിശോധിക്കുന്ന സ്വഭാവം സ്ക്രിപ്റ്റുകളെയോ റെൻഡറിംഗിനെയോ ബ്രൗസർ-നിർദ്ദിഷ്ട പ്രാമാണീകരണത്തെയോ ആശ്രയിക്കുമ്പോൾ യഥാർത്ഥ ബ്രൗസർ ഉപയോഗിക്കുക. പ്രോക്സിയിലൂടെയുള്ള വിജയകരമായ HTTP ഫെച്ച് ഈ ഏജന്റിന് ആ അഭ്യർത്ഥന നടത്താനായി എന്ന ഇടുങ്ങിയ ചോദ്യത്തിന് ഉത്തരം നൽകുന്നു.