从ASP.NET中的codebehind提交POST请求

时间:2014-01-10 18:29:49

标签: c# asp.net api post

我需要通过POST请求向第三方api提交数据,我有提交的URL,但我试图避免先将数据发送到客户端,然后再从那里发布。有没有办法直接从代码隐藏POST信息?

任何想法都表示赞赏。

3 个答案:

答案 0 :(得分:8)

这样的东西?

string URI = "http://www.myurl.com/post.php";
string myParameters = "param1=value1&param2=value2&param3=value3";

using (WebClient wc = new WebClient())
{
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    string HtmlResult = wc.UploadString(URI, myParameters);
}

How to post data to specific URL using WebClient in C#

答案 1 :(得分:6)

从服务器端,您可以将其发布到网址。

请参阅上一次stackoverflow问题的示例代码 - HTTP request with post

using (var wb = new WebClient()) 
{
         var data = new NameValueCollection();
         data["username"] = "myUser";
         data["password"] = "myPassword";


         var response = wb.UploadValues(url, "POST", data); 
}

使用WebRequest类发布。

http://msdn.microsoft.com/en-us/library/debx8sh9(v=vs.110).aspx

或者您也可以使用HttpClient类:

http://msdn.microsoft.com/en-us/library/system.net.http.httpclient(v=vs.110).aspx

希望这会有所帮助。如果您遇到问题,请发布。

答案 2 :(得分:2)

您应该使用WebRequest类:

var request = (HttpWebRequest)WebRequest.Create(requestedUrl);
request.Method = 'POST';
using (var resp = (HttpWebResponse)request.GetResponse()) {
    // your logic...
}

完整信息在https://msdn.microsoft.com/en-us/library/debx8sh9(v=vs.110).aspx