![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
да все таки многопоточность более честный вариант - там хотя бы понятно - что и как
попытаюсь все таки упростить код и дам в студию |
|||
|
||||
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
А как с помощью AnyEvent::HTTP
сохранить картинку ? все таки решил не отказываться от него, ибо если уж тянет контент - то делает это очень быстро. |
|||
|
||||
| djusha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 11.6.2008 Репутация: нет Всего: нет |
Хорошая тема.
Многопоточность это хорошо... но хочется чтобы каждый запрос шел с разных IP адресов... IP у хостера можно купить... не проблема... При работе с LWP::UserAgent можно использовать @LWP::Protocol::http::EXTRA_SOCK_OPTS = (LocalAddr => $ips, Reuse => 1 ); и подставлять разные $ips на каждый поток...(ну как то так) а как обстоит дело при работе с AnyEvent::HTTP ? не прокси... именно IP... Это сообщение отредактировал(а) djusha - 23.5.2011, 12:49 |
|||
|
||||
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
А как с помощью AnyEvent::HTTP
сохранить картинку ? все таки решил не отказываться от него, ибо если уж тянет контент - то делает это очень быстро. |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 2 Всего: 39 |
В LWP это делается более прямо если почитать документацию: LWP::UserAgent->new(local_address => $ip) Нормально. В описании параметра on_prepare сказано об этом. Добавлено через 5 минут и 16 секунд Также как и всё остальное. Если файл большой и хочется по мере получения писать его в файл на локальном носителе, то см. описание параметра on_body. |
|||
|
||||
| djusha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 11.6.2008 Репутация: нет Всего: нет |
за LWP::UserAgent->new(local_address => $ip) спасибо... действительно проще и правильней $ua ->local_address($ips); и все дела... а вот с on_prepare => $callback->($fh) не обессудте... недоходит... можете примерчиком побаловать? |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 2 Всего: 39 |
Судя по документации так
Проверяйте |
|||
|
||||
| djusha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 11.6.2008 Репутация: нет Всего: нет |
Pfailed, спасибо за подсказку!
кстати, видел Вашу статью - "use Coro, история успеха" http://forum.vingrad.ru/forum/topic-317827...vent/index.html интересна связка Coro с LWP::UserAgent возник вопрос... делали ли Вы какие либо замеры по производительности... Если бы Вы сейчас начали делать что либо с НУЛЯ, что бы Вы выбрали, AnyEvent::HTTP или Coro в связке с LWP::UserAgent ? Это сообщение отредактировал(а) djusha - 24.5.2011, 09:24 |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 2 Всего: 39 |
djusha, замеров не делал, но здравый смысл подсказывает, что AnyEvent::HTTP быстрее, а Coro + LWP легче при написании кода.
Если нужно что-то сильно производительное, скажем больше 500 одновременных соединений, я бы озадачился AnyEvent::HTTP иначе удобнее Coro. |
|||
|
||||
| djusha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 11.6.2008 Репутация: нет Всего: нет |
А скрипт запускаете из винды или и линукса? просто я озадачился примерно этим же... если запускаю скрипт на AnyEvent::HTTP из винды, и делаю запрос на какой либо сайт в инете, то все нормально... если делаю запрос на сайт, который находится этой же машине, на виртуальной машине VMware, под CentOS55, то получаю ошибку 595.... LWP к этому же сайту при запросах не имеет проблем... есть над чем репу почесать... |
|||
|
||||
| EcSYZ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 21.6.2007 Репутация: нет Всего: 1 |
Ну, некоторые моменты в данном деле остаются не ясны, но я уже начал приписывать к своему пауку log4perl, а потом ещё и через прокси пущу ... тогда мож что и выяснится.
А пока что остаётся предполагать, что все проблемы вызваны влиянимем марсианских бурь |
|||
|
||||
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Скрипт я запускаю из под WinXP, который стоит на локальной машине, подключенной к инету.
|
|||
|
||||
| djusha |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 11.6.2008 Репутация: нет Всего: нет |
да, в том виде, как есть работает....
но мне IP адреса по очереди перебирать нужно или рандомно.... не могу понять.... Простой пример... вот так, без кавычек работает...
Если IP адрес брать в кавычки, то нет... в цикле тоже не получается... вот часть кода... код с одним IP естественно работает... нужно чтобы работало со списком IP из файла... Подскажите, ато уже по разному перепробовал... ума никак не дам... Это сообщение отредактировал(а) djusha - 5.6.2011, 16:01 |
||||||||
|
|||||||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 2 Всего: 39 |
Если я правильно понял вопрос: v192.168.75.85 это тоже, что AnyEvent::Socket::parse_ipv4("192.168.75.85")
|
|||
|
||||
| djusha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 11.6.2008 Репутация: нет Всего: нет |
Хех... спасибо!!! все, заработало, разобрался Осталось понять, каким образом IP последовательно гонять, вместо генератора рандомных чисел... что то он не совсем рандомно делает... Плохо то, что с терминами слаб... приходится на пальцах... 300 лет перлом не занимался... все с таким трудом вспоминается... Это сообщение отредактировал(а) djusha - 1.6.2011, 17:54 |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |