Аутентификация Cisco ACI с cURL не работает - PullRequest
1 голос
/ 22 апреля 2019

Я читал о Cisco ACI Автоматизация с cURL здесь и пытаюсь выполнить те же шаги.

К сожалению,код не работает на cURL.Я получаю следующую ошибку:

C:\>curl -X POST -k https://x.x.x.x/api/aaaLogin.json -d '{"aaaUser":{"attributes":{"name":"user007","pwd":"password007"}}}'
{"totalCount":"1","imdata":[{"error":{"attributes":{"code":"400","text":"JSON parsing failed - incomplete attribute value at line: 1"}}}]}
C:\>

Однако, когда я тестирую тот же код с помощью Postman, он работает как шарм.Что не так с командой curl?

Примечание. В этом примере я не поместил -c cookie.txt, поскольку получаю ту же ошибку, даже если она есть.

Желаемый вывод

Получение правильного ответа HTTP 200, а не 400 Bad Request ..

1 Ответ

1 голос
/ 21 мая 2019

Сначала необходимо войти в систему:

curl -X POST -k https://APIC_IP_ADDRESS/api/aaaLogin.xml -d '<aaaUser name="USERNAME" pwd="PASSWORD"/>' -c cookie.txt

Контроллер APIC возвращает токен, сохраненный в файле cookie.Это будет длиться 5 минут.Вы должны использовать этот файл cookie для запуска любого следующего REST API .

Например, REST API , который создает новый Tenat, новый профиль приложения и новый EPG.выглядеть так:

curl -b cookie.txt -X POST -k https://APIC_IP_ADDRESS/api/node/mo/uni.xml -d '<polUni> <fvTenant name="TENANT-NAME" descr="TENANT-NAME-DESC" status=""> <fvAp name="APP-PROF-NAME">   <fvAEPg name="NEW-EPG-NAME" > </fvAEPg> </fvAp> </fvTenant> </polUni>' -c cookie.txt
...