Отправка HTTP-Post-запроса на заполнение формы в VBA - PullRequest
0 голосов
/ 24 мая 2018

Мне отправляется много писем, и мне нужно создать учетную запись на странице Spigit (https://www.spigit.com/)), которой владеет моя компания для всех, кто отправил мне электронное письмо.

Это утомительный процесс, который занимает несколько минут для каждого пользователя. Чтобы автоматизировать это, я создал сценарий outlook VBA, который анализирует имена отправителей и их соответствующие адреса электронной почты для формы регистрации на spigit в таблицу excel.
Я немного погуглил о том, как обрабатывать дальше, я имел в виду «javascript reads excel table и заполняет форму». Решением было использование вместо этого пост-запроса http, так как форма - это всего лишь пользовательский интерфейс..

Итак, я рассмотрел задачу создания http-запроса с заданными данными.

Sub testhttp()
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
    URL = "https://company.spigit.com/main/Admin/UsersAction?action=create_user"
    objHTTP.Open "POST", URL, False
    objHTTP.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64)"
    objHTTP.SetRequestHeader "Content-type", "application/x-www-form-urlencoded; charset=UTF-8"
    objHTTP.SetRequestHeader "Host", "company.spigit.com"
    objHTTP.SetRequestHeader "Referer", "https://company.spigit.com/main/Admin/Dashboard?orig_url=/Page/UserAdmin"
    objHTTP.Send ("form_id=randomstring123&username=testuser123&pw=pw123&pw2=pw123&firstname=Max&lastname=Mustermann&email=maurice@company.com")
End Sub

Спасибо за этот код для фрагмента кода

Запрос form_id=randomstring... будет скорректирован позже для итерации данных Excel.

Проблема в том, что при выполнении в Excel VBA он говорит:

Имя или адрес серверане может быть resolved.

Так как я впервые пробую httprequests, я хотел бы спросить вас, есть ли у вас какие-либо идеи.

Заранее спасибо, Морис

РЕДАКТИРОВАТЬ # 1on180524: Как заполнить форму с пост-запросом и получить ответ , как указано в ответе jonathanl, это работает по-другому, если сайту требуются файлы cookie (да!) И некоторый JavaScript, который нужно сделать.на форме (я думаю, что это делает?Это, безусловно, проверяет, является ли ваш ввод действительным.) С этими границами я, вероятно, буду искать более простой подход, поскольку использование сторонних инструментов является довольно сложной задачей в среде компании.

...