26.12.2024
Эффективная Навигация М2М
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Выгрузка списка списка запрещенных сайтов с Единого Реестра
vadДата: Четверг, 13.02.2014, 13:23 | Сообщение # 46
Барнаул
Группа: Проверенные
Сообщений: 223
Репутация: 17
Статус: Offline
Видел. Посмотрю что случилось и отпишусь.
 
FreeMadManДата: Вторник, 22.04.2014, 16:59 | Сообщение # 47
Группа: Проверенные
Сообщений: 2
Репутация: 4
Статус: Offline
vad, доброго времени суток, наткнулись в поиске на ваш чудесный скрипт, пытаемся заставить его работать, не поможете ли с проблемой.
Я признаюсь не опытен в *nix системах, но я сейчас после получения в конце Got it, а до этого тонны крякозябр не знаю где искать результат всё этой операции. wacko
 
vadДата: Среда, 23.04.2014, 10:11 | Сообщение # 48
Барнаул
Группа: Проверенные
Сообщений: 223
Репутация: 17
Статус: Offline
В той же папке откуда запускали скрипт должен лежать результат - zip файл со списком запрещенных сайтов. Командой ls -al можно посмотреть что в папке этой находится (аналог в windows команды DIR).
 
FreeMadManДата: Среда, 23.04.2014, 12:14 | Сообщение # 49
Группа: Проверенные
Сообщений: 2
Репутация: 4
Статус: Offline
Всё заработало! Ура.  v

Код
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import suds
import base64
import time
import zipfile

API_URL = "http://www.zapret-info.gov.ru/services/OperatorRequest/?wsdl"
XML_FILE_NAME = "/usr/src/reestr/request.xml"
SIG_FILE_NAME = "/usr/src/reestr/request.xml.sign"

def getLastDumpDate(): ##Проверка последнего изменения файла на сервере
     client = suds.client.Client(API_URL)
     result=client.service.getLastDumpDate()
     return result

def sendRequest(requestFile,signatureFile): # Формируем и отправляем запрос на файл, в ответе код  
     file = open(requestFile, "rb")          # входные параметры фаил xml и подпись файла
     data = file.read()
     file.close()
     xml = base64.b64encode(data)
    

      
     file = open(signatureFile, "rb")
     data = file.read()
     file.close()
     print data
     sign = base64.b64encode(data)
   
     client = suds.client.Client(API_URL)
     result=client.service.sendRequest(xml,sign)

     return dict(((k, v.encode('utf-8')) if isinstance(v, suds.sax.text.Text) else (k, v)) for (k, v) in result)

def getResult(code): # скачиваем фаил  
     client = suds.client.Client(API_URL)
     result=client.service.getResult(code)
     return dict(((k, v.encode('utf-8')) if isinstance(v, suds.sax.text.Text) else (k, v)) for (k, v) in result)

date_file=getLastDumpDate()

request=sendRequest(XML_FILE_NAME,SIG_FILE_NAME)
#Проверяем, принят ли запрос к обработке

if request['result']:
     #Запрос не принят, получен код
     code=request['code']
     print 'Got code %s' % (code)
     print 'LastDumpDate %s' % (date_file)
     print 'Trying to get result...'
     print 'sleep 60 sec'
     time.sleep(60)
     while 1:
     #Пытаемся получить архив по коду
         request=getResult(code)
         if request['result']:
             #Архив получен, скачиваем его и распаковываем
             print 'Got it!'
             file = open('result.zip', "wb")
             file.write(base64.b64decode(request['registerZipArchive']))
             file.close()
             break
         else:
             #Архив не получен, проверяем причину.
             if request['resultComment']=='запрос обрабатывается':
                 #Если это сообщение об обработке запроса, то просто ждем минутку.
                 print 'Not ready yet.'
                 print('sleep 60 sec')
                 time.sleep(60)
             else:
                 #Если это любая другая ошибка, выводим ее и прекращаем работу
                 print 'Error: %s' % request['resultComment']
                 break
else:
       #Запрос не принят, возвращаем ошибку
     print 'Error: %s' % request['resultComment']
 
vlad5503Дата: Пятница, 25.07.2014, 08:28 | Сообщение # 50
Группа: Проверенные
Сообщений: 10
Репутация: 0
Статус: Offline
Всем привет и поздравления с праздником Системного Администартора!!!
Вот сел за изучение нововведения по теме реестра запрещенных ресурсов.
Перепробовал варианты "втыкания" строки versionNum=2 в имеющийся срипт на питоне к хорошему не привела. Вываливает ошибку обратботки скрипта.
Vad Вы не пробовали ещё доработать свой вариант скрипта?
Насколько я понимаю эту строку надо использовать в файле zapretinfo.py?

Код
def sendRequest(requestFile,signatureFile, "versionNum=2"): # Формируем и отправляем запрос на файл, в ответе код  
     file = open(requestFile, "rb")          # входные параметры фаил xml и подпись файла
     data = file.read()
     file.close()
     xml = base64.b64encode(data)


У кого есть идеи?

Добавлено (25.07.2014, 08:25)
---------------------------------------------
Посидел подумал... А нафига я ковычки писал?
сделал так:

Код
 def sendRequest(requestFile,signatureFile,versionNum=2):


Хапрос ушел...
Жду ответа.

Добавлено (25.07.2014, 08:28)
---------------------------------------------
Получил ответ:

Код
 Got code 8e525eb7a1e09bd44faffdb5fcb74d3f
LastDumpDate 1406261100000
Trying to get result...
sleep 80 sec
Not ready yet.
sleep 60 sec
Got it!
Получено


Наш фаервол сругался так:
Код
ipfw: hostname ``8022.8267.4028.8473'' unknown
Будем разбираться....




Сообщение отредактировал vlad5503 - Пятница, 25.07.2014, 07:55
 
CAcheДата: Вторник, 26.08.2014, 16:23 | Сообщение # 51
Canberra
Группа: Проверенные
Сообщений: 3
Репутация: 2
Статус: Offline
Вопрос актуален. Кто внедрял versionNum, откликнитесь. В одном месте был написан метод: result=client.service.sendRequest(xml,sert,«2.0»), но работает ли пока не ответили. Коллега, который этим занимался в отпуске, самому экспериментировать как-то не хочется)))
 
denisДата: Среда, 27.08.2014, 13:47 | Сообщение # 52
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Offline
заработало вот так:
сначало переменная:
dump = '2.0'
в функции пишем это:
def sendRequest(requestFile,signatureFile,dumpp):
и вызов функции:
request=sendRequest(XML_FILE_NAME,SIG_FILE_NAME,dump)
В результате с тестового ресурса formatVersion="2.0" и subnet
С основного ресурса тоже formatVersion="2.0"
 
CAcheДата: Пятница, 29.08.2014, 08:26 | Сообщение # 53
Canberra
Группа: Проверенные
Сообщений: 3
Репутация: 2
Статус: Offline
Всё, получилось. По выше указанному методу качается, но только первая версия. Вторая версия начала скачиваться после добавления параметра dumpFormatVersion в строку: result=client.service.sendRequest(xml,sign,dumpFormatVersion).
В итоге этот параметр dumpFormatVersion добавлен в три строки:

def sendRequest(requestFile,signatureFile,dumpFormatVersion):
result=client.service.sendRequest(xml,sign,dumpFormatVersion)
request=sendRequest(XML_FILE_NAME,SIG_FILE_NAME,dumpFormatVersion)

Добавлено (29.08.2014, 08:26)
---------------------------------------------
и да, переменную dumpFormatVersion не забыть объявить.
dumpFormatVersion = "2.0"

 
vlad5503Дата: Пятница, 29.08.2014, 13:46 | Сообщение # 54
Группа: Проверенные
Сообщений: 10
Репутация: 0
Статус: Offline
Не отписался по своей ошибке:
Наш фаервол сругался так:
Код
ipfw: hostname ``8022.8267.4028.8473'' unknown

Я использовал свой скрипт выборки ip-адресов из dump-а...
Покрутив его - ошибка выборки не выяснена пока. Поэтому за неимением времени разбираться тогда остановился на скрипте автора и запустил его в работу.
Сейчас выгрузка идет правильно без подобных ошибок.
Осталось дождаться 01.09 и увидеть в работе собранный скрипт для формата 2.0.
На этом пока всё.
Всем удачи.
 
logoffДата: Пятница, 29.08.2014, 21:11 | Сообщение # 55
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
Зачем ждать? версия формата казана в возвращаемом реестре
 
ТасичкаДата: Воскресенье, 31.08.2014, 17:58 | Сообщение # 56
Воронеж
Группа: Проверенные
Сообщений: 4
Репутация: 2
Статус: Offline
Добрый день. Добавил в 3 строки dumpFormatVersion. Объявил переменную : 

API_URL = "http://www.zapret-info.gov.ru/services/OperatorRequest/?wsdl"
XML_FILE_NAME = "Zapros.xml"
SIG_FILE_NAME = "Zapros.xml.sig"
dumpFormatVersion = "2.0"


Но открываю скачанный файл пишет xml version "1.0" 
Правильно ли объявил переменную? URL указан правильно?

Добавлено (31.08.2014, 17:58)
---------------------------------------------
Может я немного гоню) Как проверить какой версии пришла выгрузка?)

 
vlad5503Дата: Воскресенье, 31.08.2014, 20:10 | Сообщение # 57
Группа: Проверенные
Сообщений: 10
Репутация: 0
Статус: Offline
А, действительно почему так?! 
Код
[color=#0000ff]<?xml version="1.0" encoding="windows-1251" ?>  
- <reg:register updateTime="2014-08-31T18:05:00+04:00" updateTimeUrgently="2014-08-30T21:02:00+04:00" xmlns:reg="http://rsoc.ru" xmlns:tns="http://rsoc.ru">
 
logoffДата: Понедельник, 01.09.2014, 00:15 | Сообщение # 58
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
Цитата Тасичка ()
Может я немного гоню) Как проверить какой версии пришла выгрузка?)
Выгрузка приходит как xml файл - смотрите там.
 
logoffДата: Понедельник, 01.09.2014, 00:19 | Сообщение # 59
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
Цитата vlad5503 ()
xml version="1.0"
это не тот параметр...
 
ТасичкаДата: Понедельник, 01.09.2014, 15:22 | Сообщение # 60
Воронеж
Группа: Проверенные
Сообщений: 4
Репутация: 2
Статус: Offline
Да это я уже понял) а где написано что выгрузка 2 версии не нашел
 
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

LogOff © 2024
Сайт создан в системе uCoz Рейтинг GPS Клуба. GPS навигаторы. GPS мониториг. GPS трекеры. ГЛОНАСС