Вы можете использовать класс WebClient
. Вам нужно установить для заголовка Content-Type
значение application/x-www-form-urlencoded
, а затем использовать метод UploadData
. Документация для этого метода содержит простой пример, который сводится к следующему:
Dim myWebClient As New WebClient()
myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
Dim responseArray = myWebClient.UploadData("https://...", "POST", Encoding.ASCII.GetBytes(postData))
Dim response = Encoding.ASCII.GetString(responseArray)
Страница Википедии HTTP POST содержит информацию о том, как должны быть закодированы данные POST:
Каждая пара ключ-значение отделяется символом «&», а каждая клавиша отделяется от своего значения символом «=». Ключи и значения экранируются, заменяя пробелы символом «+», а затем используя кодировку URL для всех остальных символов.
Итак, ваша переменная postData
может быть заполнена следующим образом (при условии, что поля, которые вы хотите опубликовать, называются Имя пользователя и Пароль):
Dim postData = String.Format("Username={0}&Password={1}", _
HttpUtility.UrlEncode(username), _
HttpUtility.UrlEncode(password))