【发布时间】:2010-04-10 22:57:43
【问题描述】:
我有各种 PHP 文件,数据被发布到(比如用户登录时的密码)我如何从 vb.net 发布到这些 PHP(Windows 窗体的桌面应用程序,这与 ASP.net 无关)
【问题讨论】:
我有各种 PHP 文件,数据被发布到(比如用户登录时的密码)我如何从 vb.net 发布到这些 PHP(Windows 窗体的桌面应用程序,这与 ASP.net 无关)
【问题讨论】:
您可以使用WebClient 类。您需要将Content-Type 标头设置为application/x-www-form-urlencoded,然后使用UploadData 方法。 documentation of that method 包含一个简单的示例,基本上可以归结为:
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)
Wikipedia page of HTTP POST 包含有关 POST 数据必须如何编码的信息:
每个键值对由一个“&”字符分隔,每个键与其值由一个“=”字符分隔。键和值都通过用“+”字符替换空格然后对所有其他字符使用 URL 编码进行转义。
所以,您的postData 变量可以这样填写(假设您要发布的字段名为用户名和密码):
Dim postData = String.Format("Username={0}&Password={1}", _
HttpUtility.UrlEncode(username), _
HttpUtility.UrlEncode(password))
【讨论】: