ASP.NETの偽装HTTPはGET / POSTリクエストを行います

覚書: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。
        } 
    }

 

おすすめ

転載: www.cnblogs.com/jerry-liu/p/11777077.html
おすすめ