[.NET]のHttpWebRequestとHttpWebReponse取得の、POSTリクエスト

いくつかのサポートHTTPSセキュリティプロトコル

///  <要約> 
        /// 取得请求
         ///  </要約> 
        ///  ます。<param name = "URL"> </ param>の
        ///  <PARAM NAME = "タイムアウト"> </ param>の
        // /  <PARAM NAME = "エンコード"> </ PARAM> 
        ///  <戻る> </戻り> 
        パブリック ストリング Request_Get(文字列 URL、INT タイムアウトエンコードエンコード)
        { 
            文字列結果= "" ; 
            HttpWebRequestの要求 = (HttpWebRequestの)HttpWebRequest.Create(URL); 
            HttpWebResponseの応答 = nullを試します
            { 
                // セットのServicePointエンティティ 
                ServicePointManager.Expect100Continue = trueに ; // もし100-続け、POST要求の前に、要求が最初のヘッダフィールド含んでいるか否かによってプロトコル 
                ServicePointManager.ServerCertificateValidationCallback = デリゲートを { 戻り trueに ;}; // コールバック統一されたアプローチ 
                = SecurityProtocolType.Ssl3 ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; // プロトコルセキュリティプロトコル提供

                // 要求 
                request.Accept = " テキスト/ HTML、ファイルアプリケーション/ XHTML + XML、ファイルアプリケーション/ XML; Q = 0.9、* / *; Q = 0.8 "; 
                request.Timeout = タイムアウト。
                request.Proxy = nullを
                request.UserAgent = " Mozillaの/ 5.0(Windows NTの6.1; WOW64; RV:11.0)のGecko / 20100101 Firefoxの/ 11.0 " ; 
                
                // 响应 
                応答= (HttpWebResponseの)request.GetResponse(); 
                ストリームstream = request.GetRequestStream()。
                StreamReaderをStreamReaderを = 新しいStreamReaderを(ストリーム、エンコード)。
                リターンstreamReader.ReadToEnd(); 
            } 
            キャッチ(例外EXC)
            { 
                戻りexc.Messageと、
            } 
            最後に
            { 
                場合(応答!= NULL ){response.Close()。}
                 もし(リクエスト!= NULL ){request.Abort()。} 
            } 
        } 

        パブリック 静的 文字列 Request_Post(文字列のURL、文字列のParam、INT タイムアウト、符号化コード)
        { 
            バイト [] P = encode.GetBytes(パラメータ)。

            // 请求 
            HttpWebRequestの要求=(HttpWebRequestの)WebRequest.Create(URL); 
            HttpWebResponseのレスポンス = ヌル; 
            ストリームストリーム = ヌル;
             // request.KeepAlive = trueに; // 近い、中止の場所との回線接続、オフ 
            request.method = " POSTの" ;
             / / * / * /必要性を直接開くことがあれば 
            request.Accept = " 画像/ GIF、画像/ JPEG、画像/ pjpeg、画像/ pjpeg、ファイルアプリケーション/ X-ショックウェーブ-フラッシュ、ファイルアプリケーション/ vnd.ms-エクセル、ファイルアプリケーション/ VND Powerpoint-.ms、ファイルアプリケーション/ MSWordの、ファイルアプリケーション/ X-MS-ファイルのアプリケーション、ファイルアプリケーション/ X-MS-XBAP、ファイルアプリケーション/ vnd.ms - XpsDocument、ファイルアプリケーション/ XML XAML +、* / * ";
             // 要求タイプ 
            request.ContentType = " アプリケーション/ X - WWW-form-urlencodedで" ;
             // クライアントのブラウザ情報 
            request.UserAgent = " 互換性のMozilla / 4.0(; MSIE 7.0; Windows NTの5.2;トライデント/ 4.0 ;. CLR 1.1.4322 NET; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Maxthonは2.0)" ;
             // 長さ、 gzipとデフォルト値は-1になります 
            request.ContentLength = p.Length; 
            
            // に応じ
            試し
            { 
                // バイトストリームにリクエストを転送し、書き込みパラメータ、およびレスポンスオブジェクトへの応答を返し、読み取りバイト 
                ストリーム=request.GetRequestStream(); 
                stream.Write(P、0 、p.Length)。
                stream.Close(); 
                応答 = (HttpWebResponseの)request.GetResponse(); 
                StreamReaderをStreamReaderを = 新しいStreamReaderを(response.GetResponseStream()、エンコード)。
                リターンstreamReader.ReadToEnd(); 
            } 
            キャッチ(例外EXC)
            { 
                戻りexc.Messageと、
            } 
        }

 

おすすめ

転載: www.cnblogs.com/laokchen/p/12514633.html