0

有一个外部网络服务,我的页面在 .NET 网络表单中。
我需要从我的页面通过 POST 传递参数调用这个 web 服务。
其中一些参数我需要在后面的代码中填写。包括一个input type="file".

我的问题是:
如何使用 POST 方法将请求发布到网络服务?
是否可以通过代码隐藏,或者我必须通过 JavaScript 提交?

4

1 回答 1

0

基于 Marvin 和 David 的回答评论:

可以通过使用WebClientor HttpWebRequest。据我了解,WebClient 继承了 HttpWebRequest,提供了更简单的编码方式。

一些例子:

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

参考:使用 System.Net.WebClient 发送 HTTP POST

string postData = Console.ReadLine();
using (System.Net.WebClient wc = new System.Net.WebClient())
{
    wc.Headers.Add("Content-Type","application/x-www-form-urlencoded");
    // Upload the input string using the HTTP 1.0 POST method.
    byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(postData);
    byte[] byteResult= wc.UploadData("http://targetwebiste","POST",byteArray);
    // Decode and display the result.
    Console.WriteLine("\nResult received was {0}",
                      Encoding.ASCII.GetString(byteResult));
}

参考:在 C# 中使用 WebClient.DownloadString 发送 POST

StackOverflow 中的其他参考:
.NET:WebBrowser、WebClient、WebRequest、HTTPWebRequest...啊!
WebClient 与 HttpWebRequest/HttpWebResponse

于 2013-10-30T12:24:52.317 回答