Проблема с интеграцией SNMP в приложение Flask с версией PYSNMP 7.1.16: «Пожалуйста, позвоните .Create (), чтобы построиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с интеграцией SNMP в приложение Flask с версией PYSNMP 7.1.16: «Пожалуйста, позвоните .Create (), чтобы построи

Сообщение Anonymous »

Я пытаюсь интегрировать запросы SNMP в приложение Flask, используя версию PYSNMP 7.1.16. Несмотря на правильное использование .Create () при инициализации объекта UDPTransportTarget, я все еще сталкиваюсь с ошибкой: «Пожалуйста, вызовите .Create (), чтобы построить объект udpTransportTarget». Я пробовал разные подходы, включая корректировку аргументов, но проблема сохраняется. Ошибка, по -видимому, связана с тем, как создается или инициализируется транспортная цель. , render_template
from pysnmp.hlapi.asyncio import *
import logging
import asyncio < /p>
logging.basicConfig(level=logging.DEBUG)

app = Flask(__name__)

# Liste des IPs des imprimantes
ips = [
"10.140.212.100", "10.140.212.102", "10.140.212.103",
"10.140.212.106", "10.140.212.107", "10.140.212.108",
"10.140.212.110", "10.140.212.111", "10.140.212.112", "10.140.212.114"
]

# Fonction SNMP asynchrone
async def get_snmp_data(ip, oid, community='public'):
try:
logging.debug(f"Interrogation SNMP sur {ip} avec OID {oid}")

# Création de l'itérateur SNMP avec l'API asyncio
iterator = get_cmd(
SnmpEngine(),
CommunityData(community),
UdpTransportTarget((ip, 161)).create(),
ContextData(),
ObjectType(ObjectIdentity(oid))
)

# Attendre et récupérer les résultats
errorIndication, errorStatus, errorIndex, varBinds = await asyncio.wait_for(iterator.__anext__(), timeout=10)

if errorIndication:
return f"Erreur SNMP : {errorIndication}"
if errorStatus:
return f"Erreur SNMP : {errorStatus.prettyPrint()}"
return varBinds[0].prettyPrint()
except Exception as e:
return f"Une erreur est survenue : {str(e)}"

# Route d'accueil
@app.route('/')
def index():
return render_template("impht.html", ips=ips)

# Route pour exécuter le script SNMP
@app.route('/execute/', methods=['POST'])
async def execute_script(ip):
oids = {
'nom': '.1.3.6.1.2.1.1.5.0', # OID pour le nom
'description': '.1.3.6.1.2.1.1.1.0', # OID pour la description
}

# Lancer les appels SNMP de manière asynchrone
results = {}
for key, oid in oids.items():
results[key] = await get_snmp_data(ip, oid)

result_html = "
".join([f"{key}: {value}" for key, value in results.items()])
return f"Informations pour l'imprimante {ip} :
{result_html}"

if __name__ == "__main__":
app.run(debug=True)`
< /code>
Вот мой код html: < /p>
`



Info des Imprimantes



{% for ip in ips %}

Info de l'imprimante {{ ip }}

Exécuter


{% endfor %}

`
< /code>
Я попытался использовать метод .create () с объектом udptransporttarget, но он все еще не работал, как и ожидалось. Я ожидал, что запрос SNMP выполнит правильно и вернет нужную информацию из принтера, но вместо этого я получил сообщение об ошибке, в котором говорится: «Пожалуйста, позвоните .Create () для создания объекта udptransportTarget» даже после вызова .create ().


Подробнее здесь: https://stackoverflow.com/questions/794 ... sion-7-1-1
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Pysnmp.smi.error.SmiError: модуль X-MIB не загружен в <экземпляр pysnmp.smi.builder.MibBuilder в Y>
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Как получить данные SNMP с помощью pysnmp?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Pysnmp snmp получить управляемые объекты
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • PySNMP Получить переменную SNMP
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как реализовать «агент SNMP» с помощью pysnmp версии 7.1
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»