2012-11-02 42 views
0

我一直在編碼在C#應用程序,它的數據是通過get函數如何通過HTML發佈功能發送

它這樣

Http://www.myweb.com/co.php?a=10&b=20 

我是新來的C#web編程派,所以我想知道如何通過post函數發送相同的數據。因爲如果我在php文件中使用$ _POST,它不會得到這些值,我研究了一下,發現POST函數在本體中獲取數據,而不是在URL中。

我只是將程序從GET轉換爲POST。任何幫助將不勝感激。

回答

1

您可以使用HttpWebRequest,適當設置MethodContentType屬性:

var request = (HttpWebRequest)WebRequest.Create("http://www.myweb.com/co.php"); 

// your choice of encoding, I just picked ASCII here 
var body = System.Text.Encoding.ASCII.GetBytes("a=10&b=20"); 

request.Method = "POST"; 
request.ContentType = "application/x-www-form-urlencoded"; 
request.ContentLength = body.Length; 

using (var stream = request.GetRequestStream()) { 
    stream.Write(body, 0, body.Length); 
} 
+0

Thanx。有沒有這種替代方法 – greatmajestics

+1

@GreatMajestics:爲什麼你需要替代方法?這很簡單。 – Jon

+0

我希望有幾十個替代解決方案,但只有一個,但我非常感謝幫助我。 :) – greatmajestics

1

如果你的目標.NET 4.5我使用HttpClient建議如果沒有,那麼我會用WebClient去:

WebClient webClient = new WebClient(); 

NameValueCollection values = new NameValueCollection(); 
values.Add("FirstName", "John"); 
values.Add("LastName", "Smith"); 
values.Add("Age", "46"); 

webClient.UploadValues("http://example.com/", values); 
+0

非常感謝。 – greatmajestics