//Making a POST request using WebClient.
Function()
{
WebClient wc = new WebClient();
var URI = new Uri("http://your_uri_goes_here");
//If any encoding is needed.
wc.Headers["Content-Type"] = "application/x-www-form-urlencoded";
//Or any other encoding type.
//If any key needed
wc.Headers["KEY"] = "Your_Key_Goes_Here";
wc.UploadStringCompleted +=
new UploadStringCompletedEventHandler(wc_UploadStringCompleted);
wc.UploadStringAsync(URI,"POST","Data_To_Be_sent");
}
void wc__UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
{
try
{
MessageBox.Show(e.Result);
//e.result fetches you the response against your POST request.
}
catch(Exception exc)
{
MessageBox.Show(exc.ToString());
}
}
318
string URI = "site.com/mail.php";
using (WebClient client = new WebClient())
{
System.Collections.Specialized.NameValueCollection postData =
new System.Collections.Specialized.NameValueCollection()
{
{ "to", emailTo },
{ "subject", currentSubject },
{ "body", currentBody }
};
string pagesource = Encoding.UTF8.GetString(client.UploadValues(URI, postData));
}
6 回答
可以简化为
http://www.myurl.com/post.php?param1=value1¶m2=value2¶m3=value3 .
这总是有效的 . 我发现原来的一个上下班 .
我刚刚找到解决方案,是的,它比我想象的要容易:)
所以这是解决方案:
它像魅力:)
有一个名为UploadValues的内置方法,它可以发送HTTP POST(或任何类型的HTTP方法)并以适当的格式数据格式处理请求体(与"&"连接参数和通过url编码转义字符)的构造:
使用
WebClient.UploadString
或WebClient.UploadData
可以轻松地将数据发送到服务器 . 我将使用UploadData显示一个示例,因为UploadString的使用方式与DownloadString相同 .更多:http://www.daveamenta.com/2008-05/c-webclient-usage/