Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > WWW::Mechanize и разные IP


Автор: infarch 17.5.2010, 11:10
Подскажите, можно ли заставить механайз делать запросы используя разные IP?
К примеру сервер имеет несколько IP и мне нужно чтобы каждый следующий запрос шел с другого адреса.

Автор: OutlawZ 17.5.2010, 12:11
Цитата(infarch @  17.5.2010,  11:10 Найти цитируемый пост)
К примеру сервер имеет несколько IP


Что значит несколько IP??? 

Автор: infarch 17.5.2010, 12:39
Цитата(OutlawZ @ 17.5.2010,  12:11)

Что значит несколько IP???

Я имел в виду аналог PHP функции: curl_setopt($ch, CURLOPT_INTERFACE,"180.81.81.81");

Автор: OutlawZ 17.5.2010, 16:05
Опишите более подробно что вам именно надо. А то не понятно.

Автор: Pfailed 17.5.2010, 16:46
ТС хочет забиндить сокет на другой интерфейс.
Согласно мануалу:

WWW::Mechanize
Цитата

WWW::Mechanize is a proper subclass of LWP::UserAgent and you can also use any of LWP::UserAgent's methods.  


LWP::UserAgent
Цитата

· $ua->local_address

· $ua->local_address( $address )

Get/set the local interface to bind to for network connections.  The interface can be specified as a hostname or an IP address.  This value is passed as the LocalAddr argument to IO::Socket::INET.  


Автор: infarch 17.5.2010, 16:57
Мне нужно собрать информацию с определенного ресурса, который имеет защиту от подобных действий. Точнее, это нужно не именно мне, а человеку для которого я делаю этот скрипт. В php для работы с веб-ресурсами есть curl имеющий вышеупомянутую опцию. Она позволяет делать запросы с разных IP, конечно если они у вас есть. Вот мне и стало интересно, есть ли в перле нечто похожее.

Добавлено через 1 минуту и 41 секунду
Цитата(Pfailed @ 17.5.2010,  16:46)
ТС хочет забиндить сокет на другой интерфейс.
Согласно мануалу:

WWW::Mechanize
Цитата

WWW::Mechanize is a proper subclass of LWP::UserAgent and you can also use any of LWP::UserAgent's methods.  


LWP::UserAgent
Цитата

· $ua->local_address

· $ua->local_address( $address )

Get/set the local interface to bind to for network connections.  The interface can be specified as a hostname or an IP address.  This value is passed as the LocalAddr argument to IO::Socket::INET.  

Ага! По моему это то что нужно. Спасибо, буду изучать!

Автор: vadiml 18.5.2010, 15:02
LWP::UserAgent позволяет указать через
$ua->local_address( $ip )

WWW::Mechanize это получит по наследству

Вот только LWP::UserAgent должен быть не старым, например в fc12 надо его брать из updates, где этот модуль обновили только после моей жалобы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)