Bí iṣẹ́ náà bá jẹ́ yíyẹ̀wò àwọn ìdáhùn HTTP àti títẹ̀lé àwọn ọ̀nà àsopọ̀ ojoojúmọ́, kì í ṣe nígbà gbogbo ni a nílò ẹ̀rọ ìwòlú tó kún. Ruby Mechanize máa ń fi proxy hàn lórí aṣojú tó ń ṣe àwọn ìbéèrè yẹn:

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

Èyí gbà pé a ti gbé ilé-ìkàwé mechanize wọlé. Fún àyẹ̀wò tí a gbà láyè lórí ojú-ìwé gbangba láìsí ìjẹ́rìí proxy, àkójọ proxy HTTP ń pèsè àwọn iye host/port tó yẹ fún àpẹẹrẹ náà. Ọ̀nà proxy tún ń gba orúkọ olùlò àti ọ̀rọ̀ ìpamọ́ gẹ́gẹ́ bí àríyànjiyàn kẹta àti kẹrin tí kò dandan nígbà tí endpoint bá nílò wọn.

Tún aṣojú tí a ti ṣètò lò fún àwọn ìbéèrè tó jẹ́ ti ìgbà ìwòlú kan náà. Ó ń gbé cookie àti ìtàn pẹ̀lú àwọn ètò nẹ́tíwọ́kì. Yíyí proxy àbájáde kò ní dá ìdánimọ̀ tuntun sílẹ̀ fúnra rẹ̀ bẹ́ẹ̀ ni kò sọ cookie ìwọlé nù.

Fún àwọn ìgbà proxy bíi mélòó kan, fún ọ̀kọ̀ọ̀kan ní aṣojú tirẹ̀ dípò yíyí aṣojú kan tí wọ́n pín nígbà tí iṣẹ́ ń lọ. Ilé-ìkàwé náà tún ṣe àkọsílẹ̀ àwọn orúkọ ìsopọ̀ àkànṣe nígbà tí a bá nílò àwọn ìsopọ̀ SSL tó yà sọ́tọ̀; orúkọ olùkọ́-ẹ̀rọ nínú àpẹẹrẹ máa ń mú yíyàn yẹn hàn kedere.

Pípín àwọn àyẹ̀wò URL tó ní ìsopọ̀ gẹ́gẹ́ bí proxy lè dín àtúnṣe tí kò pọn dùn. Jẹ́ kí àbájáde wà ní ìsopọ̀ pẹ̀lú ọ̀nà àti URL tó dá a, pẹ̀lú àwọn ìtúnṣe ojú-ọ̀nà àti àwọn ìdáhùn àṣìṣe.

Mechanize kò tún ṣe ìṣiṣẹ́ JavaScript ti ẹ̀rọ ìwòlú. Lo ẹ̀rọ ìwòlú gidi nígbà tí ìhùwàsí tí a ń dán wò bá gbára lé àwọn skripti, ìfihàn tàbí ìjẹ́rìí tó jẹ́ ti ẹ̀rọ ìwòlú pàtó. Gbígbé HTTP tó ṣàṣeyọrí nípasẹ̀ proxy ń dáhùn ìbéèrè tóóró náà pé aṣojú yìí lè ṣe ìbéèrè yẹn.

Àwọn àpilẹ̀kọ tó jọra