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