Подключитесь с устройства cisco к http-серверу в Debian - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь связаться с http-сервером, работающим на Debian Strech, с совершенно нового устройства cisco из коробки.Теперь, так называемая конфигурация с нулевым касанием не является проблемой:

  • Коммутатор получает IP-адрес и т. Д. Через DHCP и ссылку, где можно получить его начальную конфигурацию.
  • Коммутаторполучает базовую конфигурацию, такую ​​как учетные данные пользователя и т. д.
    Проблема возникает, когда я пытаюсь выполнить поиск в базе данных на сервере с коммутатора.В этой базе данных хранятся некоторые переменные.В зависимости от серийного номера коммутатора он должен получить конкретное имя хоста, адрес Mgmt и т. Д.

На этих новых коммутаторах встроен модуль python, поэтому я провел несколько тестов.Я попытался получить серийный номер и получить их без каких-либо проблем.В тот момент, когда я пытался записать серийный номер в текстовый файл на сервере, я получил эту ошибку

Traceback (последний вызов был последним): файл "", строка 1, в IOError: [Errno 2] Нет такого файла или каталога: 'http://10.232.152.19:80/temp.txt'

Код пока:

from cli import cli
def get_serial():
    serial = cli("show version | include System Serial\n")
    serial = (serial.split()[-1])
    f = open ("http://10.232.152.19:80/temp.txt", "a")
    f.write(serial)
    f.close
    get_serial()

1 Ответ

1 голос
/ 02 апреля 2019

Проблема, с которой вы сталкиваетесь, заключается в том, что вы пытаетесь открыть файл из сети.Вам нужно сначала скачать файл в своей системе, а затем открыть его.Вы должны использовать urllib, чтобы получить файл и затем открыть его.затем сохраните его и снова нажмите на него.

import urllib
txt = urllib.urlopen(target_url).read()
...