パッケージ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 </バージョン> </依存関係>