Не думайте с точки зрения «заполнения веб-страниц», когда речь идет об отправке этих запросов.Веб-страницы для человека.Заполнение формы и нажатие кнопки - это ручной способ создания HTTP-сообщения с данными.
Когда вы публикуете эту форму:
IP: [172.10.0.1 ]
Name: [Printer300 ]
Location: [Room407 ]
[Apply] [Cancel]
, браузер создает текстовую строку, подобную этой:
IP=172.10.0.1&Name=Printer300&Location=Room407
, и отправляет ее на целевой URL.
Invoke-WebRequest
может создать этот формат непосредственно из ваших данных.Это означает, что вам не нужно ничего «заполнять».Просто передайте хеш-таблицу с правильными ключами и значениями:
Invoke-WebRequest "http://localhost/addIP.php" -WebSession $IP -Method POST -Body @{
IP = "172.10.0.1"
Name = "Printer300"
Location = "Room407"
MAC = "000"
ID = "000"
}
Конечно, ключи должны соответствовать именам полей формы.
При этом я не вижубольшая часть потребности в аутентификации с запросами, поступающими от localhost.Вы можете сэкономить некоторую занятость, отключив аутентификацию для всех локальных запросов и требуя ее только для удаленных запросов.
В любом случае, когда вы запрашиваете пароль на веб-сайте, а затем сохраняете этот пароль в виде простого текста в скрипте, это не совсем безопасно для начала.
Invoke-WebRequest
поддерживает встроенную проверку подлинности Windows, так что выне нужно беспокоиться с именами пользователей и паролями вообще.Это было бы моим предпочтительным решением для аутентификации для таких задач.