Jump to content
Форум по продукции MOXA

neviens

Пользователи
  • Posts

    8
  • Joined

  • Last visited

neviens's Achievements

Новичок

Новичок (1/5)

0

Reputation

  1. Работает. 1000+ подключений, выходы переключаются, входы читаются, ничего нужного не сломали :) Спасибо!
  2. Я имел ввиду, что моха при закрытии сессии со стороны клиента (IE, Firefox, Python, etc), должна закрыть сессию с своей стороны и освободить все занятые сессией ресурсы для следующих подключений. Что она явно не делает. Только что попробовал на IE11, тоже 10 нормальных подключении с вводом пароля, потом кукишь.
  3. Доброе утро, Странный алгоритм тогда там или ошибка. conn.Close() по идее ведь должен все ресурсы, включая пользователя, освобождать для следующего подключения. Можно, конечно, держать сессию открытой и управлять, но интернет к сожалению штука нестабильная - там Cisko обновили и reboot сделали, тут Windows завис, итд, и через год лимит 10 пользователей исчерпан... А если по LTE подключение, там вообще бывают обрывы каждую ночь. Буду тогда наверно доступ по IP ограничивать, но там тоже не всё так гладко - IP имеют свойство меняться. А сам способ авторизации (md5 хеш от passw+nonce) не плох и для нечестных, особенно, если пароль по максимуму использовать, 16 символов из всех групп. Спасибо!
  4. lxml под Win инсталируется с "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\Scripts\pip.exe install lxml" , где C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32 путь к проинсталлированному питону (он может быть другим, если программа в нештатную папку проинсталирована, или другое имя пользователя). Без авторизации как то напрягает урановыми центрифугами управлять Если серьёзно, то меня интересует, я сам делаю что то неправильно, E2210 неисправна или ошибка в прошивке. Буду очень благодарен, если поможете это выяснить.
  5. Разобрался, без авторизации будет, если Password пустoй. При отключенной не виснет.
  6. Прикрепил py файл. Это вообще возможно, отключить авторизацию? В ioAdmin'е не нашёл ничего подобного. moxatest2.py
  7. Их там нет, можно просто Ctrl-C, Ctrl-V. Если кто будет пробовать, учтите, что строка "conn.request('GET', '/setParam.cgi?..." переключает выходы. Забыл сказать, что зависает при последователных 11 подключениях. Если было бы при паралельных, претензий не было бы - процессор слабый, мало памяти итд.
  8. Добрый день, Это только у меня E2210 v3.13 зависает после 10 подключений по CGI? Симптомы следующие - после 10 подключений с успешной аутентификацией, при одинадцатом устройство больше не присылает MoxaPass cookie. Соответственно, дальнейшие действия по CGI невозможны до перезагрузки E2210. Код для воспроизведения ошибки: #tested with Python v3.8.2 #lxml is not installed by default, run "pip install lxml" 1st import hashlib import http.client from lxml import html moxaServer = '10.10.10.39' moxaPort = 80 moxaPassw = 'just1024atest' conn = http.client.HTTPConnection(moxaServer, moxaPort, timeout = 4) header = {'Accept': 'text/html'} conn.request('GET', '/', '', header) response = conn.getresponse() body = response.read() tree = html.fromstring(body) tokenList = tree.xpath('/html/body/center/form//*[@name="Token"]/@value') token = tokenList[0] str = moxaPassw + token md = hashlib.md5(str.encode()) auth = 'Password=' + md.hexdigest() + '&Token=' + token + '&Submit=Submit' conn.request('POST', '/home.htm', auth, header) response = conn.getresponse() body = response.read() cookie = response.getheader('Set-Cookie').replace(',', ';') #authenticated now, send cookie back in header header = {'Cookie': cookie, 'Accept': 'text/html'} print(header) conn.request('GET', '/getParam.cgi?DIStatus_00=?&DIStatus_02=?', '', header) response = conn.getresponse() body = response.read() print(body.decode('utf-8')) conn.request('GET', '/setParam.cgi?DOMode_00=0&DOStatus_00=0&DOMode_01=0&DOStatus_01=0', '', header) response = conn.getresponse() body = response.read() print(body.decode('utf-8')) conn.close()
×
×
  • Create New...