Ако задачата е проверка на 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 прокси дава соодветни вредности за хост/порта за примерот. Методот proxy исто така прифаќа корисничко име и лозинка како опционални трет и четврти аргумент кога тоа го бара endpoint.

Користете го конфигурираниот агент повторно за барања што припаѓаат на истата сесија на прелистување. Тој носи колачиња и историја, како и мрежни поставки. Промената на излезното прокси само по себе не создава нов идентитет ниту го отфрла колачето за најава.

За повеќе прокси сесии, дајте ѝ на секоја свој агент наместо да менувате еден заеднички агент додека работата е во тек. Библиотеката исто така документира единствени имиња на врски кога се потребни одделни SSL врски; името на конструкторот во примерот го прави тој избор експлицитен.

Групирањето на поврзани проверки на URL по прокси може да го намали непотребното преконфигурирање. Чувајте го резултатот поврзан со маршрутата и URL-то што го создале, вклучително пренасочувања и одговори со грешка.

Mechanize не го репродуцира извршувањето на JavaScript во прелистувачот. Користете вистински прелистувач кога однесувањето што се тестира зависи од скрипти, рендерирање или автентикација специфична за прелистувачот. Успешно HTTP преземање преку проксито одговара на потесното прашање дека овој агент можел да го изврши тоа барање.

Поврзани статии