HTTPリクエストのGET /ポスト

wzh.Httpパッケージ;


インポートjava.io.BufferedReader;
インポートにjava.io.IOException;
インポートjava.io.InputStreamReader;
インポートてjava.io.PrintWriter;
インポートのjava.net.URL;
インポートjava.net.URLConnection;
Javaソースコードの読み込み。 util.List;
インポートjava.util.Map;


publicクラスのHttpRequest {
    / **
     URLを指定する* GETメソッド要求送信
     * 
     * @paramのURL
     *送信要求URL
     * @param PARAM
     *リクエストパラメータは、リクエストパラメータはNAME1なければなりません=のVALUE1&NAME2 = value2の形態。
     * URLの応答結果@returnリモートリソースを表し
     * /
    パブリック静的文字列sendGet(URL文字列、文字列PARAM){
        文字列結果= "";
        BufferedReaderの内= NULL;
        試み{
            UrlNameString文字列のURL + = +のparam "?";
            RealURLは=新新(urlNameString)のURLのURL;
            //オープンとの間の接続URL
            のURLConnection接続= realUrl.openConnection();
            //セットの一般的なリクエスト属性
            connection.setRequestProperty( "* / *"、 "受け入れ");
            connection.setRequestProperty( "接続"、 "キープアライブ");
            connection.setRequestProperty( "ユーザーエージェント"、
                    「Mozillaの/ 4.0(互換; MSIE 6.0; Windows NTの5.1; SV1)「);
            //は、実際の接続の確立
            (connection.connectを);
            //取得し、すべてのレスポンスヘッダフィールド
            地図<文字列、リストの<string >> connection.getHeaderFields地図=();
            //トラバースすべての応答ヘッダフィールド
            (文字列キー:map.keySet()){ため
                のSystem.out.println(キー+「---> 「+ map.get(キー)など);
            }
            //入力ストリームを読み取るには、BufferedReaderのURL応答定義
            =新しい新しいBufferedReaderの(新しい新しいInputStreamReaderの(に
                    connection.getInputStreamを()));
            文字列ラインと、
            一方((行= in.readLine !())= NULL){
                結果=ライン+;
            }
        }キャッチ(例外E){
            するSystem.out.println( "GET要求を送信異常!" + E);
            e.printStackTrace();
        }
        //使用が最終的に入力ストリームを閉じるようにブロック
        {最後に
            試し{
                IF(!= nullの中に){
                    In.close();
                }
            }キャッチ(例外E2を){
                e2.printStackTraceを();
            }
        }
        戻り値の結果を、
    }


    / **
     * URLの指定方法にPOSTリクエスト
     * 
     * @paramのURL
     *送信要求URL
     * @param PARAM
     *リクエストパラメータ、リクエストパラメータがフォームNAME1 = VALUE1&NAME2 = VALUE2のであるべきです。
     * @Returnは、リモートリソース応答結果を表す
     * /
    パブリック静的文字列sendPost(URL文字列、文字列PARAM){
        OUT =ヌルのPrintWriter;
        = nullの中をBufferedReader;
        文字列の結果= "";
        試み{
            URL =新しい新RealURLはURL(URL);
            開口部と// URLとの間の接続
            のURLConnection realUrl.openConnectionコネティカット=();
            //セットの一般的なリクエスト属性
            conn.setRequestProperty( "* / *"、 "受け入れ");
            conn.setRequestProperty( "接続"、 "キープアライブ");
            conn.setRequestProperty( "ユーザーエージェント"、
                    「Mozillaの/ 4.0(互換; MSIE 6.0; Windows NTの5.1; SV1)「);
            //次の2行に設定しなければならないPOSTリクエスト送信
            ; trueにconn.setDoOutput()
            conn.setDoInput(trueにします)。
            //出力ストリームに対応するURLConnectionオブジェクトを取得します。
            OUT = PrintWriterの新新(conn.getOutputStream());
            //パラメータ要求を送信
            Out.print(パラメータ);
            //フラッシュバッファリングされた出力ストリーム
            out.flushを();
            // BufferedReaderの定義ストリームはURLに応答して読み出された入力
            (BufferedReaderの新しい新しい=中
                    にInputStreamReader(conn.getInputStream()新しい新));
            文字列ラインと、
            (!(= in.readLineライン())= NULL){一方
                結果=ライン+;
            }
        }キャッチ(例外E){
            System.out.printlnは( "POSTリクエスト送信異常!" + E);
            e.printStackTrace();
        }
        //使用最後に、出力ストリームをクローズし、入力ストリームをブロックし
        、最終的{
            試み{
                IF(OUT = nullを!){
                    out.close();
                }
                IF(=ヌルで!){
                    In.close();
                }
            }
            キャッチ(IOExceptionがEX){
                ex.printStackTrace();
            }
        }
        戻り結果;
    }    

}


します。https://www.cnblogs.com/guoyinli/p/7192839.htmlより転載

公開された66元の記事 ウォンの賞賛8 ビュー130 000 +

おすすめ

転載: blog.csdn.net/qq_37889636/article/details/80566707