Dot-Net
使用 System.Net.WebClient 發送 HTTP POST
是否可以使用 System.Net.WebClient 發送帶有一些表單數據的 HTTP POST?
如果沒有,是否有另一個庫像 WebClient 可以做 HTTP POST?我知道我可以使用 System.Net.HttpWebRequest,但我正在尋找不那麼冗長的東西。
希望它看起來像這樣:
Using client As New TheHTTPLib client.FormData("parm1") = "somevalue" result = client.DownloadString(someurl, Method.POST) End Using
根據@carlosfigueira 的回答,我進一步研究了 WebClient 的方法並找到了UploadValues,這正是我想要的:
Using client As New Net.WebClient Dim reqparm As New Specialized.NameValueCollection reqparm.Add("param1", "somevalue") reqparm.Add("param2", "othervalue") Dim responsebytes = client.UploadValues(someurl, "POST", reqparm) Dim responsebody = (New Text.UTF8Encoding).GetString(responsebytes) End Using關鍵部分是這樣的:
client.UploadValues(someurl, "POST", reqparm)它發送我輸入的任何動詞,它還幫助我創建正確的 url 編碼的表單數據,我只需將參數作為 namevaluecollection 提供。