URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 92570
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Автоматическое получение списка зап..."

Отправлено auto_tips , 10-Ноя-13 19:33 
Скрипт для автоматической загрузки списка запрещенных сайтов:

   use MIME::Base64;
   use SOAP::Lite;
   open REQ,'<request.xml';
   $req.=$_ while <REQ>;
   close REQ;  
   encode_base64($req);

   open SIG,'<PKCS#7';
   $sig.=$_ while <SIG>;
   close SIG;

   $soap = SOAP::Lite->service('http://vigruzki.rkn.gov.ru/services/OperatorRequest/?wsdl');
   $r = $soap->getLastDumpDate();
   print "time: $r\n";

   @r = $soap->sendRequest($req, $sig);
   $code = $r[2];
   print "code: $code\n";

   sleep 1, print "$_\n" for 1..300;
   @r = $soap->getResult($code);
   open ZIP,'>register.zip';
   print ZIP decode_base64($r[$#r]);
   close ZIP;

URL:
Обсуждается: http://www.opennet.dev/tips/info/2812.shtml


Содержание

Сообщения в этом обсуждении
"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено VecH , 10-Ноя-13 20:07 
Can't locate SOAP/Lite.pm

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено slavon , 10-Ноя-13 20:09 
cpan install SOAP::Lite

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Lennotoecom , 11-Ноя-13 02:46 
+ и убедитесь также что
у вас есть библиотеки
libssl-dev
expat
libexpat1-dev или lib64expat1-dev

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено ркрцке , 19-Мрт-14 01:42 
а может тсё же перловый соап поставить?

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено sabitov , 10-Ноя-13 21:04 
IMHO, конечно, но лучше вот это:

svn checkout svn://svn.code.sf.net/p/z-i/code-0/trunk z-i-code-0
http://sourceforge.net/p/z-i/code-0/HEAD/tree/dump.csv?forma...

Чудесный цсв, и никаких XML :)


"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Аноним , 11-Ноя-13 09:05 
> svn checkout svn://svn.code.sf.net/p/z-i/code-0/trunk z-i-code-0
> http://sourceforge.net/p/z-i/code-0/HEAD/tree/dump.csv?forma...

В продакшин блокировку, основанную на загрузке данных через посредника не выпустишь. В http://sourceforge.net/p/z-i/ данные грузит не Роскомнадзор, а критикующая его группа анонимов. В один прекрасный момент обновление базы может загнуться или там может появиться троянская информация (например, своруют пароль от sourceforge и добавят в список блокировки кремль.ру).


"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Дядя_Федор , 11-Ноя-13 11:08 
Все может быть намного печальнее. РКН фиксируют обращения провайдеров к своему реестру. Если обращения от кого-либо, кто есть в их базе нет - придет "письмо счастья" из РКН (случаи уже были, и не один). Аргументы о загрузке реестра из других источников в данном случае оправданием не является. Лишат лицензии с легкостью изумительной. А без лицензии - тут же статья о незаконной предпринимательской деятельности - паровозом.

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено aurved , 11-Ноя-13 14:26 
письмо счастья придет и обязательно, но вроде возможен вариант -- договор официальный с другим  провайдером, который сам забирает "правильно" этот список блокировки и "светит" свои запросы, подписанные своей ЭЦП дважды в день в Роскомнадзоре.

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Дядя_Федор , 11-Ноя-13 14:29 
> письмо счастья придет и обязательно, но вроде возможен вариант -- договор официальный
> с другим  провайдером, который сам забирает "правильно" этот список блокировки
> и "светит" свои запросы, подписанные своей ЭЦП дважды в день в
> Роскомнадзоре.

Да - такой вариант возможен, Вы правы.



"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено WisDem , 11-Ноя-13 13:58 
что-то упорно пишет неверный алгоритм ЭП
запрос мы уже подписанный отправляем, или он подписывается по мере прохождения скрипта?

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Lennotoecom , 11-Ноя-13 14:24 
в скрипте ничего не подписывается.
request.xml и PKCS#7 которые вы отправляете в скрипте у вас работают в ручном режиме?
http://vigruzki.rkn.gov.ru/tooperators_form/

если нет то вот как должен выглядеть request.xml
он должен быть создан обязательно в windows-1251 кодировке

<?xml version="1.0" encoding="windows-1251"?>
<request>
<requestTime>2013-11-07T08:05:00.000+04:00</requestTime>
<operatorName>ООО "Рога и копыта"</operatorName>
<inn>1111111111</inn>
<ogrn>1111111111111</ogrn>
<email>test@example.net</email>
</request>

файл открепленной электронной подписи в формате PKCS#7 создается, например с
помощью криптоПРО командой
csptest.exe -sfsign -sign -detached -add -in C:\Zapros_reestr.xml -out C:\Zapros_reestr.xml.sign -my mail@domen.ru


что подробно рассказано тут
http://itmemo.ru/2012/12/sozdanie-fayla-otkreplennoy-elektro.../


"Раздел полезных советов: Автоматическое получение списка зап..."
Отправлено aurved , 11-Ноя-13 14:29 
Тоже вот неплохой вариант, да еще некоторые вещи инетресно расписаны, например как вытащить закрытый ключ из носителя, а уж потом его на nix-сервер скопировать и там им подписывать запросы -- https://www.evernote.com/shard/s185/sh/ceb0b021-47e7-4c61-ab...

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено WisDem , 11-Ноя-13 14:51 
интересно, в ручном режиме час назад запустил, все прошло, сейчас упорно ошибку выдает. хм тестируем дальше

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Дядя_Федор , 11-Ноя-13 16:00 
> интересно, в ручном режиме час назад запустил, все прошло, сейчас упорно ошибку
> выдает. хм тестируем дальше

Вы поаккуратнее с тестированием. Были уже замечены случаи блокирования на их сайте при слишком частом обновлении. Так чта... :)



"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено pavlinux , 11-Ноя-13 21:39 
> Скрипт для автоматической загрузки списка запрещенных сайтов:

Неправильная тема, должно быть "Скрипт для автоматической загрузки списка сайтов маршрутизируемых в сеть TOR"


"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено WisDem , 12-Ноя-13 07:59 
все заработало, после общения с тп)

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Дядя_Федор , 12-Ноя-13 08:41 
> все заработало, после общения с тп)

На блокировку таки нарвались?



"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено Nope , 12-Ноя-13 20:09 
Wide character in subroutine entry at ./unlaw.pl line 25.

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Lennotoecom , 13-Ноя-13 10:39 
1. отправляемые файлы в ручном режиме работают?
2. попробуйте только дату получить для начала через
$soap = SOAP::Lite->service('http://vigruzki.rkn.gov.ru/services/OperatorRequest/?wsdl');
$r = $soap->getLastDumpDate();

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено ap_ , 27-Ноя-13 17:12 
С перловским SOAP::Lite (1.08) иногда в результатах пусто. Данным скриптом ошибка не отлавливается.

Через tcpdump установлена ошибка вида SOAP-ENV:VersionMismatch и Wrong.Version

Причины оказались аналогичны этим
http://www.perlmonks.org/?node_id=650014
https://rt.cpan.org/Public/Bug/Display.html?id=29505

Помогло такое решение:
перед
$soap = SOAP::Lite->service ....
указать
$SOAP::Constants::PREFIX_ENV = 'SOAP-ENV';

PS:1 день потрачен ;).


"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено Артадокс , 04-Мрт-14 12:27 
Всем огромное спасибо за файлик, но пока допер что вместо open SIG,'<PKCS#7'; необходимо указать open SIG,'<файл_с_расширением.sign'; потратил много нервов :(((((((

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено хрен_с_горы , 08-Мрт-14 20:05 
гы-гы это авторы предлагают подпись на сервере хранить? один вопрос - вы идиоты?

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено хрен_с_горы , 09-Мрт-14 12:38 
да сам скрип напмсан либо пьным либо безумным конструкция
   $code = $r[2];
   print "code: $code\n";

просто умиляет.


"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено пываппукпйцук , 10-Мрт-14 22:20 
дополню.

навсамом деле конешно "мего проффесеониальный связьнадзор" предлагает именно так и делать. только что будет если сервер хакнули и под пись ушла на сторону?

видимо осознав бредовость затеи с хранием ключа на сервере они пошли на встречу (признали свой дибилизм) - дату в xml запросе можно не менять, а один раз подписать и на сервере хранить подписанный запрос, вместо хранения приватьной подписи, что позволяет вернуть её на законное место - в сейф руководдителя конторы.


"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено Alpha , 14-Авг-14 00:52 
Надо бы поправить скриптик... С 1 августа 2014 изменился порядок выгрузка.

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Lennotoecom , 14-Авг-14 11:20 
Я уже запостил, находится на модерации

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено Артадокс , 14-Авг-14 17:07 
Проблемммма: ребята подскажиет что делать
1.Сдох жесткий с Debian - установил новый
2.Залил скрипты со старого(бекапенные) рабочие
3.Поставил SOAP::Lite 1.11
в файле register.zip 1 байт......
Не могу понять куда дальше смотреть.То что предлагал  ap_, 17:12, 27/11/2013 тоже делал....
В тупике......

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено Alpha , 15-Авг-14 00:01 
Походу модераторам не очень интересно постить полезные темы... Чето как-то долго на модерации находится...

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено Артадокс , 15-Авг-14 11:18 
Огромное спасибо Lennotoecom всего тебе наилучшего, чтобы все было в кайф.....
Задача решилась новым скриптом.... :))))

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено Ogma , 17-Авг-14 12:41 
Народ, где можно взять новый скрипт?

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено Ogma , 17-Авг-14 12:42 
А все увидел:)

"Извлечение url в виде списка"
Отправлено Walkorner , 20-Янв-15 11:25 
Народ - никто не задумался как извлечь url из архива который скачиваеца в виде списка в отдельный файл?
Я пробовал так

cat dump.xml |sed 's/^.*http/http/g' | grep -o "http://[.\a-z\.]*" > file.txt

Но в итоге там есть такие записи

http://mail
http://
http://it

И т.п.
Плеазе хелп!


"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено Walkorner , 04-Мрт-15 14:31 
Вот те раз че никто ничего не предложит?????
Да видно перевелись на земле добры молодцы ....

"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Максим , 28-Июл-15 14:35 
Добрый у вас заработал скрипт для загрузки списка запрещенных сайтов?

"Автоматическое получение списка запрещенных сайтов от РОСКОМНАДЗОР с помощью Perl"
Отправлено Максим , 28-Июл-15 14:34 
Уже второй день бьюсь вылезает ошибка

[ErrorCode: 0x00000000]
Use of uninitialized value in subroutine entry at C:/Perl64/site/lib/SOAP/Lite.p
m line 289.
Use of uninitialized value in subroutine entry at C:/Perl64/site/lib/SOAP/Lite.p
m line 289.

при работе с данным способом, soap на себя самого ругается кто знает как решить? или код уже не актуален?


"Автоматическое получение списка запрещенных сайтов от РОСКОМ..."
Отправлено Dmitry , 19-Дек-16 17:53 
> Уже второй день бьюсь вылезает ошибка
> [ErrorCode: 0x00000000]
> Use of uninitialized value in subroutine entry at C:/Perl64/site/lib/SOAP/Lite.p
> m line 289.
> Use of uninitialized value in subroutine entry at C:/Perl64/site/lib/SOAP/Lite.p
> m line 289.
> при работе с данным способом, soap на себя самого ругается кто знает
> как решить? или код уже не актуален?

Такая же проблема