Tunza wakala wa Ruby Mechanize kwa kila kipindi cha proksi
Weka proksi ya wakala wa Ruby Mechanize mara moja, itumie tena kwa maombi yanayohusiana, na uweke mipaka kwa makusudi juu ya hali ya vidakuzi na miunganisho endelevu.
Ikiwa kazi ni kukagua majibu ya HTTP na kufuata viungo vya kawaida, kivinjari kamili hakihitajiki kila wakati. Ruby Mechanize hufichua proksi kwenye wakala anayefanya maombi hayo:
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
endHii inadhania kuwa maktaba ya mechanize imepakiwa. Kwa ukaguzi unaoruhusiwa wa ukurasa wa umma bila uthibitishaji wa proksi, orodha ya proksi za HTTP hutoa thamani zinazofaa za mwenyeji/bandari kwa mfano. Njia ya proksi pia inakubali jina la mtumiaji na nenosiri kama hoja za tatu na nne za hiari wakati endpoint inazihitaji.
Tumia tena wakala uliosanidiwa kwa maombi yaliyo ya kipindi kimoja cha uvinjari. Hubeba vidakuzi na historia pamoja na mipangilio ya mtandao. Kubadilisha proksi ya kutoka hakuundi utambulisho mpya kwa asili wala hakutupi kidakuzi cha kuingia.
Kwa vipindi kadhaa vya proksi, mpe kila kimoja wakala wake mwenyewe badala ya kubadilisha wakala mmoja unaoshirikiwa wakati kazi inaendelea. Maktaba pia huandika majina ya muunganisho ya kipekee wakati miunganisho ya SSL iliyotenganishwa inahitajika; jina la kijenzi katika mfano hufanya chaguo hilo kuwa wazi.
Kukusanya ukaguzi wa URL unaohusiana kwa proksi kunaweza kupunguza usanidi upya usio wa lazima. Weka matokeo yakihusiana na njia na URL iliyoyazalisha, ikiwa ni pamoja na uelekezaji upya na majibu ya hitilafu.
Mechanize haitoi tena utekelezaji wa JavaScript wa kivinjari. Tumia kivinjari halisi wakati tabia inayojaribiwa inategemea skripti, uonyeshaji au uthibitishaji maalum wa kivinjari. Upataji wa HTTP uliofanikiwa kupitia proksi hujibu swali jembamba kwamba wakala huyu aliweza kufanya ombi hilo.