Perl WWW::Mechanize: Как указать IP-адрес назначения независимо от URL-адреса?

Я хочу использовать Perl www::mechanize для подключения к веб-серверу и запроса ресурса. Например. http://www.my.domain/test.html. Но я хочу указать IP-адрес независимо от имени хоста в URL-адресе.

Например: www.my.domain разрешается в 1.1.1.1, но я хочу подключиться к 2.2.2.2.

Я хочу сделать это, чтобы протестировать несколько веб-серверов за балансировщиком нагрузки.


person Joerg    schedule 29.01.2021    source источник


Ответы (1)


используйте LWP::UserAgent::DNS::Hosts;

Он отлично работает с WWW::Mechanize.

use LWP::UserAgent::DNS::Hosts;
use WWW::Mechanize;

LWP::UserAgent::DNS::Hosts->register_host('www.my.domain' => '2.2.2.2');
LWP::UserAgent::DNS::Hosts->enable_override;

my $mech = WWW::Mechanize->new;
$mech->get('http://www.my.domain/test.html'); # connects to 2.2.2.2

person mscha    schedule 29.01.2021
comment
Пришлось добавить LWP::UserAgent::DNS::Hosts-›enable_override; чтобы заставить его работать. - person Joerg; 30.01.2021
comment
Ты прав, я пропустил это. Добавил в ответ. - person mscha; 30.01.2021