POST на веб-страницу в vb.net (формы выигрыша, рабочий стол, а не ASP.net)

У меня есть разные файлы PHP, данные которых отправляются (например, пароль при входе пользователя). Как я могу отправить на этот PHP из vb.net (настольное приложение, которое является Windows Forms, это не о ASP.net)

Related of "POST на веб-страницу в vb.net (формы выигрыша, рабочий стол, а не ASP.net)"

Вы можете использовать класс 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("http://...", "POST", Encoding.ASCII.GetBytes(postData)) Dim response = Encoding.ASCII.GetString(responseArray) 

На странице Wikipedia HTTP POST содержится информация о том, как должны быть закодированы данные POST:

Каждая пара ключ-значение разделяется символом «&», и каждый ключ отделяется от его значения символом «=». Ключи и значения обе экранируются путем замены пробелов символом «+», а затем с использованием кодировки URL для всех других символов.

Таким образом, ваша переменная postData может быть заполнена так (при условии, что поля, которые вы хотите опубликовать, называются Username и Password):

 Dim postData = String.Format("Username={0}&Password={1}", _ HttpUtility.UrlEncode(username), _ HttpUtility.UrlEncode(password))