Все, что я пытаюсь сделать, это отправить HTTP GET с Querystring или HTTP POST в веб-службу с пользовательской страницы в установщике NSIS.
Проблема в том, что большинство плагинов могут загружать/загружать файлы, а не просто вызывать сервис и возвращать ответ. Рекомендуемый плагин для использования — NsisUrlLib. Я попробовал это, и хотя он работает с простыми запросами GET, он терпит неудачу и выдает ошибку, если у вас есть параметры строки запроса в URL-адресе, например:
NsisUrlLib::UrlOpen /NOUNLOAD "http://tc.hwidev.com?var=value"
Pop $connectResult
NSISdl, INetC и другие плагины работают со строками запросов, но их можно использовать только для загрузки/выгрузки файлов.
Я попытался использовать плагин ExecDos для вызова cURL.exe из командной строки следующим образом:
ExecDos::exec /TOSTACK "curl" "http://tc.hwidev.com"
Pop $connectResult
Но я не могу понять, как получить данные, возвращаемые с URL-адреса, переданного обратно в NSIS. Приведенный выше код просто возвращает целое число в $connectResult, которое, вероятно, представляет собой код возврата из CURL. Как получить фактический HTML-код, возвращенный из URL-адреса, в стек NSIS или в переменную?
В качестве альтернативы, может ли кто-нибудь порекомендовать лучший способ сделать это? Вызов веб-сервиса кажется настолько простым, что тысячи людей уже должны были понять это.