Калі задача — правяраць 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-праксі дае прыдатныя значэнні host/port для прыкладу. Метад proxy таксама прымае імя карыстальніка і пароль як неабавязковыя трэці і чацвёрты аргументы, калі гэтага патрабуе endpoint.

Паўторна выкарыстоўвайце наладжаны агент для запытаў, якія належаць да той жа сесіі аглядання. Ён захоўвае cookie і гісторыю, а таксама сеткавыя налады. Змена выходнага праксі сама па сабе не стварае новую ідэнтычнасць і не адкідвае cookie ўваходу.

Для некалькіх праксі-сесій дайце кожнай свой агент, а не змяняйце адзін агульны агент падчас працы. Бібліятэка таксама дакументуе ўнікальныя імёны злучэнняў, калі патрабуюцца адасобленыя SSL-злучэнні; імя канструктара ў прыкладзе робіць гэты выбар відавочным.

Групаванне звязаных праверак URL па праксі можа паменшыць непатрэбную пераканфігурацыю. Трымайце вынік звязаным з маршрутам і URL, якія яго стварылі, уключаючы перанакіраванні і адказы з памылкамі.

Mechanize не ўзнаўляе выкананне JavaScript браўзерам. Выкарыстоўвайце сапраўдны браўзер, калі паводзіны, якія правяраюцца, залежаць ад скрыптоў, рэндэрынгу або аўтэнтыфікацыі, спецыфічнай для браўзера. Паспяховы HTTP-запыт праз праксі адказвае на вузкае пытанне: гэты агент здолеў зрабіць гэты запыт.

Падобныя артыкулы