web-dev-qa-db-ja.com

ASP.NETのコードビハインドからのリクエストPOST

POSTリクエストを介してサードパーティのAPIにデータを送信する必要があります。送信するURLがありますが、最初にデータをクライアント側に送信してから投稿することは避けようとしています。再びそこから。POSTコードビハインドから直接情報を取得する方法はありますか?

どんなアイデアでも大歓迎です。

6

このようなもの?

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);
}

C#でWebClientを使用して特定のURLにデータを投稿する方法

8
paqogomez

サーバー側からURLに投稿できます。

前のstackoverflowの質問のサンプルコードを参照してください- 投稿付きのHTTPリクエスト

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

お役に立てれば。問題が発生した場合は投稿してください。

7
George Philip

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

2
alexmac