<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[автоматизация с помощью ISE ERS API]]></title><description><![CDATA[<p dir="auto">Всем привет! Я пытаюсь автоматизировать добавление сетевых устройств в ISE с помощью вызовов API Python к ISE с помощью модуля requests и с использованием JSON для изменения данных. Вот пример кода: #### import requests<br />
import requests.auth<br />
import getpass<br />
import json Username = input("Введите имя пользователя API:") Password = getpass.getpass("Введите пароль API:") headers = {'Content-Type': 'application/json', 'Accept': 'application/json'} ISEjson= {<br />
"NetworkDevice" : {<br />
"id" : "123456789",<br />
"name" : "networkDevice1",<br />
"description" : "example nd",<br />
"authenticationSettings" : {<br />
"radiusSharedSecret" : "aaa",<br />
"enableKeyWrap" : True,<br />
"dtlsRequired" : True,<br />
"keyEncryptionKey" : "1234567890123456",<br />
"messageAuthenticatorCodeKey" : "12345678901234567890",<br />
"keyInputFormat" : "ASCII"<br />
},<br />
"snmpsettings" : {<br />
"version" : "ONE",<br />
"roCommunity" : "aaa",<br />
"pollingInterval" : 3600,<br />
"linkTrapQuery" : True,<br />
"macTrapQuery" : True,<br />
"originatingPolicyServicesNode" : "Auto"<br />
},<br />
"trustsecsettings" : {<br />
"deviceAuthenticationSettings" : {<br />
"sgaDeviceId" : "networkDevice1",<br />
"sgaDevicePassword" : "aaa"<br />
},<br />
"sgaNotificationAndUpdates" : {<br />
"downlaodEnvironmentDataEveryXSeconds" : 86400,<br />
"downlaodPeerAuthorizationPolicyEveryXSeconds" : 86400,<br />
"reAuthenticationEveryXSeconds" : 86400,<br />
"downloadSGACLListsEveryXSeconds" : 86400,<br />
"otherSGADevicesToTrustThisDevice" : False,<br />
"sendConfigurationToDevice" : False,<br />
"sendConfigurationToDeviceUsing" : "ENABLE_USING_COA",<br />
"coaSourceHost" : "IseNodeName"<br />
},<br />
"deviceConfigurationDeployment" : {<br />
"includeWhenDeployingSGTUpdates" : True,<br />
"enableModePassword" : "aaa",<br />
"execModePassword" : "aaa",<br />
"execModeUsername" : "aaa"<br />
}<br />
},<br />
"tacacsSettings" : {<br />
"sharedSecret" : "aaa",<br />
"connectModeOptions" : "ON_LEGACY"<br />
},<br />
"profileName" : "Cisco",<br />
"coaPort" : 1700,<br />
"dtlsDnsName" : "<a href="http://ISE213.il.com" rel="nofollow ugc">ISE213.il.com</a>",<br />
"NetworkDeviceIPList" : [ {<br />
"ipaddress" : "1.1.1.1",<br />
"mask" : 32<br />
} ],<br />
"NetworkDeviceGroupList" : [ "Location#All Locations", "Device Type#All Device Types" ]<br />
}<br />
} ISE = requests.post("<br />
<a href="https://x.x.x.x:9060/ers/config/networkdevice" rel="nofollow ugc">https://x.x.x.x:9060/ers/config/networkdevice</a><br />
", verify=False, auth=(Username, Password), headers=headers, json=ISEjson) print(ISE.text)<br />
print(ISE.status_code)<br />
print(ISE.headers) #### Проблема, с которой я столкнулся, заключается в том, что при попытке отправить данные в ISE я получаю следующее: &lt;!doctype html&gt;&lt;html lang="en"&gt;&lt;head&gt;&lt;title&gt;HTTP Status 401 – Unauthorized&lt;/title&gt;&lt;style type="text/css"&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;размер шрифта: 14px;} body {семейство шрифтов: Tahoma, Arial, sans-serif; цвет: черный; цвет фона: белый;} b {семейство шрифтов: Tahoma, Arial, sans-serif; цвет: белый; цвет фона: #525D76;} p {семейство шрифтов: Tahoma, Arial, sans-serif; фон: белый; цвет: черный;font-size:12px;} a {color:black;} <a href="http://a.name" rel="nofollow ugc">a.name</a> {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 401 – Неавторизованный&lt;/h1&gt;&lt;hr class="line" /&gt;&lt;p&gt;&lt;b&gt;Тип&lt;/b&gt; Отчет о статусе&lt;/p&gt;&lt;p&gt;&lt;b&gt;Описание&lt;/b&gt; Запрос не был обработан, поскольку не содержит действительных учетных данных для аутентификации целевого ресурса.&lt;/p&gt;&lt;hr class="line" /&gt;&lt;h3&gt;&lt;/h3&gt;&lt;/body&gt;&lt;/html&gt;<br />
401<br />
{'WWW-Authenticate': 'Basic realm="ERSRealm"', 'Content-Type': 'text/html;charset=utf-8', 'Content-Language': 'en', 'Content-Length': '1014', 'Date': 'Tue, 09 Jul 2019 02:02:03 GMT', 'Server': ''} Я не понимаю, почему аутентификация не проходит, ведь я могу использовать модуль запросов для GET и DELETE в ISE с этой же учетной записью. Кто-нибудь может прояснить ситуацию?</p>
]]></description><link>https://sla247.ru/forum/topic/2208/автоматизация-с-помощью-ise-ers-api</link><generator>RSS for Node</generator><lastBuildDate>Fri, 15 May 2026 03:18:23 GMT</lastBuildDate><atom:link href="https://sla247.ru/forum/topic/2208.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Mar 2026 12:01:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to автоматизация с помощью ISE ERS API on Mon, 02 Mar 2026 12:01:40 GMT]]></title><description><![CDATA[<p dir="auto">Армин, как ты решил эту проблему? У меня, похоже, все еще остается та же проблема при использовании команды curl. }'<br />
HTTP/1.1 401<br />
WWW-Authenticate: Basic realm="ERSRealm"<br />
Content-Length: 0<br />
Date: Thu, 02 May 2024 20:27:00 GMT<br />
Server:</p>
]]></description><link>https://sla247.ru/forum/post/15705</link><guid isPermaLink="true">https://sla247.ru/forum/post/15705</guid><dc:creator><![CDATA[valartemisa]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:01:40 GMT</pubDate></item><item><title><![CDATA[Reply to автоматизация с помощью ISE ERS API on Mon, 02 Mar 2026 12:01:39 GMT]]></title><description><![CDATA[<p dir="auto">Игнорируйте! Решение: Проблемы вызывал интерпретатор Python.</p>
]]></description><link>https://sla247.ru/forum/post/15704</link><guid isPermaLink="true">https://sla247.ru/forum/post/15704</guid><dc:creator><![CDATA[ArminGradascevic1123]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:01:39 GMT</pubDate></item></channel></rss>