インタフェースは、体内のポストリクエストパラメータを呼び出します

パッケージcom.ynhrm.common.utils。

輸入com.alibaba.fastjson.JSONObject;
輸入lombok.Data;
輸入org.apache.http.Consts。
輸入org.apache.http.client.config.RequestConfig;
輸入org.apache.http.client.methods.CloseableHttpResponse。
輸入org.apache.http.client.methods.HttpPost;
輸入org.apache.http.entity.StringEntity。
輸入org.apache.http.impl.client.CloseableHttpClient;
輸入org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
輸入org.apache.http.impl.client.HttpClientBuilder。
インポートorg.apache.http.impl.client.HttpClients;
輸入org.apache.http.util.EntityUtils。
輸入org.springframework.boot.context.properties.ConfigurationProperties。
輸入org.springframework.context.annotation.Configuration。
輸入org.springframework.stereotype.Component; 

インポートにjava.io.IOException;
輸入java.util.HashMapを;
輸入java.util.Map; 

@Component 
@ConfigurationProperties( "http.config" 
@Data 
パブリック クラスのHttpUtils {
     静的な文字列のURL = "のhttp:// localhostを:9002 /システム/ログイン" ;
    静的文字列のモバイル=「13294950520」静的な文字列のパスワード=「123456」;
    / * 文字列のURL。
    文字列のモバイル。
    文字列のパスワード。* / 
    文字列の結果 = "" ;
    公共  httpPost文字列(){
         // CloseableHttpClient实现了のHttpClient接口 
        CloseableHttpClientのHttpClient = HttpClients.createDefault()。
        HttpPost httpPost = 新しいHttpPost(URL); 

        // 创建HttpClientBuilder设置属性 
        HttpClientBuilder httpClientBuilder =  HttpClientBuilder.create()。setDefaultRequestConfig(RequestConfig.custom()
                .setConnectionRequestTimeout( 6000  
                .setSocketTimeout( 6000 
                .setConnectTimeout( 6000).build())setRetryHandler(新しい DefaultHttpRequestRetryHandler(3、))。

        // 设置请求头信息 
        地図<文字列、文字列>マップ= 新しい HashMapの<> (); 
        map.put( "同意する"、 "アプリケーション/ JSON、text / plainで、* / *" ); 
        map.put( "同意エンコード"、 "GZIP、デフレート" ); 
        map.put( "; Q = 0.9 ZH-CN、ZH" "言語を受け入れます" )。
        map.put( "接続" 
        map.put( "); 
        map.put( "ユーザーエージェント"、 "Mozillaの/ 5.0(Windows NTの6.1。GeckoのようなWOW64)のAppleWebKit / 537.36(KHTML、)クローム/ 63.0.3239.26サファリ/ 537.36コア/ 1.63.5024.400 QQBrowser / 10.0.932.400" ;
        (のMap.Entry <文字列、文字列> エントリ:map.entrySet()){ 
            httpPost.setHeader(entry.getKey()、entry.getValue())。
        } 


        // 传递参数为JSON数据 
        JSONObject jsonObject = 新しいJSONObject()。
        jsonObject.put( "モバイル" 、モバイル); 
        jsonObject.put( "パスワード" 、パスワード);
        新しい新しいStringEntity(jsonObject.toString()、Consts.UTF_8);
         // 設定リクエストパラメータ
        httpPost.setEntity(エンティティ); 

        // 作成のHttpClientオブジェクトのインスタンス生成CloseableHttpClient 
        のHttpClient = httpClientBuilder.build(); 

        試み{
             // 送信HttpPost戻り値を取得するための要求 
            CloseableHttpResponse応答= httpClient.execute(HttpPost); 
            結果 = EntityUtils.toString(response.getEntity()、Consts.UTF_8); 
        } キャッチ(例外e){ 
            e.printStackTrace(); 
        } 最後に{
             トライ{
                //释放资源
                httpClient.close()。
            } キャッチ(例外e){ 
                e.printStackTrace(); 
            } 
        } 

        戻り値の結果; 
    } 

    パブリック 静的 ボイドメイン(文字列[]引数){ 
        のHttpUtilsのHttpUtils = 新規のHttpUtils()。
        文字列s = httpUtils.httpPost()。
        System.out.println(S); 
    } 
}
<依存> 
            <groupIdを> org.apache.httpcomponents </ groupIdを> 
            <たartifactId> HTTPClientの</たartifactId> 
            <バージョン> 4.5.2 </バージョン> 
</依存関係>

おすすめ

転載: www.cnblogs.com/yscec/p/11946642.html