ప్రతి ప్రాక్సీ సెషన్కు 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 పొందిక ఈ ఏజెంట్ ఆ అభ్యర్థనను చేయగలిగిందనే సన్నిహిత ప్రశ్నకు సమాధానం ఇస్తుంది.