【发布时间】:2014-01-29 20:44:57
【问题描述】:
我需要通过 POST 请求将数据提交给第三方 api,我有要提交的 url,但我试图避免先将数据发送到客户端,然后再从那里再次发布。有没有办法直接从代码隐藏中发布信息?
感谢任何想法。
【问题讨论】:
-
查看这篇相关文章...stackoverflow.com/questions/4088625/…
我需要通过 POST 请求将数据提交给第三方 api,我有要提交的 url,但我试图避免先将数据发送到客户端,然后再从那里再次发布。有没有办法直接从代码隐藏中发布信息?
感谢任何想法。
【问题讨论】:
您可以从服务器端将其发布到 url。
查看上一个 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
希望这会有所帮助。如果您遇到问题,请发布。
【讨论】:
你应该使用 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
【讨论】:
这样的?
string URI = "http://www.myurl.com/post.php";
string myParameters = "param1=value1¶m2=value2¶m3=value3";
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string HtmlResult = wc.UploadString(URI, myParameters);
}
【讨论】: