覚書:POSTのC#2種類の外部インタフェース手段を要求します。
FormBodyフォーム1.リクエストパラメータ:
/// 送信要求 /// </要約> /// <PARAM NAME = "URL"> 要求アドレス</ param>の /// <PARAM NAME = "のsendData"> パラメータ形式「名=ジョー・スミス&合格= 123456 " </ PARAM> /// <返し> </戻り> パブリック 静的 文字列 RequestWebAPI(文字列の URL、文字列のsendData) { 文字列 backMsg = " " ; 試み { System.Net.WebRequest httpRquest = System.Net.HttpWebRequest.Create( URL); httpRquest。メソッド= "POSTは、「; // この行は背景が値を取得しませContentTypeを設定パラメータつながる、重要ではない httpRquest.ContentType = 」ファイルアプリケーション/ x-www-form-urlencodedで;のcharset = UTF-8 " ; バイト [] = dataArrayは、システム.Text.Encoding.UTF8.GetBytes(のsendData); // httpRquest.ContentLength = dataArray.lengthと; System.IO.StreamザrequestStream = NULL ; IF(列 .IsNullOrWhiteSpace(のsendDataは)== falseに) { requestStream =httpRquest.GetRequestStream(); requestStream.Write(dataArray、0 、dataArray.lengthと)。 requestStream.Close(); } System.Net.WebResponse応答 = httpRquest.GetResponse()。 System.IO.Stream responseStream = response.GetResponseStream()。 System.IO.StreamReaderリーダー = 新しいはSystem.IO.StreamReader(responseStream、System.Text.Encoding.UTF8)。 backMsg = reader.ReadToEnd()。 reader.Close(); reader.Dispose(); requestStream.Dispose(); responseStream.Close(); responseStream.Dispose(); } キャッチ(例外) { スロー。 } 戻りbackMsg。 }
の形態2. JSON要求パラメータ:
パブリック ストリング GETPAGE(列 posturl、ストリングPOSTDATA) { ストリームOUTSTREAM = NULL ; ストリームinStream = nullを。 StreamReaderをSR = nullを。 HttpWebResponseの応答 = nullを。 HttpWebRequestの要求 = nullを。 エンコーディングエンコーディング = Encoding.UTF8。 バイト []データ=のencoding.GetBytes(POSTDATA)。 試す { // 设置参数 リクエスト= WebRequest.Create(posturl)としてのHttpWebRequest。 CookieContainer cookieContainer = 新しいCookieContainer(); request.CookieContainer = cookieContainer。 request.AllowAutoRedirect = 真; request.Method = " POST " ; request.ContentType = " アプリケーション/ jsonの" ; request.ContentLength = data.Length。 OUTSTREAM = request.GetRequestStream()。 outstream.Write(データ、 0 、data.length); outstream.Close(); // リクエストを送信し、対応する応答データ取得 応答= request.GetResponse()ASは、HttpWebResponseの; // request.GetResponse()プロシージャを始めるまでポストターゲットページの送信要求 であるinStream = response.GetResponseStream(); SR = 新しい新しいStreamReaderを(inStreamに、エンコーディング); //は、結果ページ(HTML)コードを返す 文字列の内容= sr.ReadToEndを(); 文字列 ERR = 文字列.Empty; // Response.Writeを(コンテンツ); リターンコンテンツ; } キャッチ(例外例) { ストリング ERR = ex.Message。 戻り値の 文字列.Empty。 } }