#python #cisco #debian-stretch
#python #cisco #debian-stretch
Вопрос:
Я пытаюсь связаться с HTTP-сервером, который работает на debian strech, с совершенно нового готового устройства cisco. Теперь так называемая конфигурация с нулевым касанием не является проблемой:
- Коммутатор получает IP-адрес и тому подобное через DHCP и ссылку на то, где можно получить его начальную конфигурацию.
- Коммутатор получает свою базовую конфигурацию, такую как учетные данные пользователя и т.д.
Проблема возникает, когда я пытаюсь выполнить поиск по базе данных на сервере с коммутатора. В этой базе данных хранятся некоторые переменные. В зависимости от serialnumber коммутатора, он должен получить конкретное имя хоста, адрес Mgmt и т.д.
В эти новые коммутаторы встроен модуль python, поэтому я провел несколько тестов. Я попытался получить серийный номер и получил их без каких-либо проблем. В тот момент, когда я попытался записать серийный номер в текстовый файл на сервере, я получил эту ошибку
Обратная трассировка (последний последний вызов): Файл «», строка 1, в IOError: [Ошибка 2] Нет такого файла или каталога: ‘http://10.232.152.19:80/temp.txt‘
Код пока:
from cli import cli
def get_serial():
serial = cli("show version | include System Serialn")
serial = (serial.split()[-1])
f = open ("http://10.232.152.19:80/temp.txt", "a")
f.write(serial)
f.close
get_serial()
Комментарии:
1. вам нужно кэшировать свой ip @
Ответ №1:
Проблема, с которой вы сталкиваетесь, заключается в том, что вы пытаетесь открыть файл из сети. Сначала вам нужно загрузить файл в свою систему, а затем открыть его. Вы должны использовать urllib
для извлечения файла, а затем открыть его. затем сохраните его и снова отправьте обратно.
import urllib
txt = urllib.urlopen(target_url).read()
Комментарии:
1. с целевым URL » 10.232.152.19/var/www/html/temp.txt » Я получаю сообщение «сеть недоступна» с целевым URL «»http:\10.232.152.19:80temp.txt «» Я получаю сообщение «хост не указан», тот же результат с полным путем или сокращенным путем. (примечание: это доступно через веб-браузер на моем локальном компьютере)