1:添加必要的依赖
<!-- Apache Http Begin -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.5</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>fluent-hc</artifactId>
<version>4.5.5</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.5</version>
</dependency>
<!-- Apache Http End -->
2:工具类
package com.example.demo.Utils;
import org.apache.http.HttpEntity;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.*;
/**
* @Author: zengwei
* @Date: 2019/4/18 17:40
* @Version 1.0
*/
public class HttpClient {
/**
* Get参数请求
* @param url URL
* @param parameter 请求参数Map集合
* @return
*/
public static String get(String url ,Map<String,String> parameter){
//创建HTTPClient客户端
CloseableHttpClient httpClient = HttpClients.createDefault();
//用于拼接请求参数
StringBuffer buffer = new StringBuffer();
buffer.append(url).append("?");
Iterator<Map.Entry<String, String>> iterator = parameter.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String, String> entry = iterator.next();
if (iterator.hasNext()){
buffer.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
}else {
buffer.append(entry.getKey()).append("=").append(entry.getValue());
}
}
//创建HttpClient请求
HttpGet httpGet = new HttpGet(buffer+"");
System.out.println("--------------请求接口: "+buffer);
//设置长链接
httpGet.setHeader("Connection","Keep-alive");
//设置代理
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
//设置Cookie
httpGet.setHeader("Cookie", "UM_distinctid=16442706a09352-0376059833914f-3c604504-1fa400-16442706a0b345; CNZZDATA1262458286=1603637673-1530123020-%7C1530123020; JSESSIONID=805587506F1594AE02DC45845A7216A4");
//接收相应结果
CloseableHttpResponse response = null;
String result = "";
try {
response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
result = EntityUtils.toString(entity);
} catch (IOException e) {
e.printStackTrace();
}
//无论如何必须关闭连接!
finally {
if (response != null){
try {
response.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (httpClient != null){
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
/**
* Post带参数请求
* @param url URL
* @param parameter 请求参数Map集合
* @param header 请求头Map集合
* @return
*/
public static String PostAndParm(String url, Map<String,String> parameter ,Map<String,String> header){
//创建HTTPClient客户端
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建 HttpPost 请求
HttpPost httpPost = new HttpPost(url);
//设置长链接
httpPost.setHeader("Connection","Keep-alive");
//设置代理
httpPost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
//设置Cookie
httpPost.setHeader("Cookie", "UM_distinctid=16442706a09352-0376059833914f-3c604504-1fa400-16442706a0b345; CNZZDATA1262458286=1603637673-1530123020-%7C1530123020; JSESSIONID=805587506F1594AE02DC45845A7216A4");
//设置请求头参数
Iterator<Map.Entry<String, String>> headerIterator = header.entrySet().iterator();
while (headerIterator.hasNext()){
Map.Entry<String, String> headerNext = headerIterator.next();
httpPost.setHeader(headerNext.getKey(),headerNext.getValue());
}
// 创建 HttpPost 参数
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
Iterator<Map.Entry<String,String>> iterator = parameter.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String, String> entry = iterator.next();
params.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
//接收相应结果
CloseableHttpResponse response = null;
String result = "";
try {
// 设置 HttpPost 参数
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
result = EntityUtils.toString(entity);
} catch (IOException e) {
e.printStackTrace();
}
//无论如何必须关闭连接!
finally {
if (response != null){
try {
response.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (httpClient != null){
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
}
3:测试
package com.example.demo.Test;
import com.example.demo.Utils.HttpClient;
import java.util.HashMap;
/**
* @Author: zengwei
* @Date: 2019/4/18 18:22
* @Version 1.0
*/
public class HttpClientTest {
public static void main(String[] args) {
// HashMap<String, String> map = new HashMap<>();
// map.put("categoryId",85+"");
// HashMap<String, String> map1 = new HashMap<>();
// map1.put("appFlag","0");
// String url = "http://127.0.0.1:5000/ks/home/getBanner";
// String andParm = HttpClient.PostAndParm(url, map,map1);
// System.out.println(andParm);
HashMap<String, String> map = new HashMap<>();
map.put("user_id",232+"");
map.put("category_id",2342+"");
String url = "http://192.168.2.40/dina/subject/fast";
String s = HttpClient.get(url, map);
System.out.println(s);
}
}
输出结果:
D:\zengwei\Java\java\bin\java.exe "-javaagent:D:\Tools\IntelliJ IDEA 2018.3.1\lib\idea_rt.jar=64461:D:\Tools\IntelliJ IDEA 2018.3.1\bin" -Dfile.encoding=UTF-8 -classpath D:\zengwei\Java\java\jre\lib\charsets.jar;D:\zengwei\Java\java\jre\lib\deploy.jar;D:\zengwei\Java\java\jre\lib\ext\access-bridge-64.jar;D:\zengwei\Java\java\jre\lib\ext\cldrdata.jar;D:\zengwei\Java\java\jre\lib\ext\dnsns.jar;D:\zengwei\Java\java\jre\lib\ext\jaccess.jar;D:\zengwei\Java\java\jre\lib\ext\jfxrt.jar;D:\zengwei\Java\java\jre\lib\ext\localedata.jar;D:\zengwei\Java\java\jre\lib\ext\nashorn.jar;D:\zengwei\Java\java\jre\lib\ext\sunec.jar;D:\zengwei\Java\java\jre\lib\ext\sunjce_provider.jar;D:\zengwei\Java\java\jre\lib\ext\sunmscapi.jar;D:\zengwei\Java\java\jre\lib\ext\sunpkcs11.jar;D:\zengwei\Java\java\jre\lib\ext\zipfs.jar;D:\zengwei\Java\java\jre\lib\javaws.jar;D:\zengwei\Java\java\jre\lib\jce.jar;D:\zengwei\Java\java\jre\lib\jfr.jar;D:\zengwei\Java\java\jre\lib\jfxswt.jar;D:\zengwei\Java\java\jre\lib\jsse.jar;D:\zengwei\Java\java\jre\lib\management-agent.jar;D:\zengwei\Java\java\jre\lib\plugin.jar;D:\zengwei\Java\java\jre\lib\resources.jar;D:\zengwei\Java\java\jre\lib\rt.jar;D:\Module\DemoTest\target\classes;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\boot\spring-boot-starter-aop\2.1.3.RELEASE\spring-boot-starter-aop-2.1.3.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\boot\spring-boot-starter\2.1.3.RELEASE\spring-boot-starter-2.1.3.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\boot\spring-boot\2.1.3.RELEASE\spring-boot-2.1.3.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\boot\spring-boot-autoconfigure\2.1.3.RELEASE\spring-boot-autoconfigure-2.1.3.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\boot\spring-boot-starter-logging\2.1.3.RELEASE\spring-boot-starter-logging-2.1.3.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\zengwei\apache-maven-3.6.0\Repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\apache\logging\log4j\log4j-to-slf4j\2.11.2\log4j-to-slf4j-2.11.2.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\apache\logging\log4j\log4j-api\2.11.2\log4j-api-2.11.2.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;D:\zengwei\apache-maven-3.6.0\Repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\yaml\snakeyaml\1.23\snakeyaml-1.23.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\spring-aop\5.1.5.RELEASE\spring-aop-5.1.5.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\spring-beans\5.1.5.RELEASE\spring-beans-5.1.5.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\aspectj\aspectjweaver\1.9.2\aspectjweaver-1.9.2.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\projectlombok\lombok\1.18.6\lombok-1.18.6.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\spring-core\5.1.5.RELEASE\spring-core-5.1.5.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\spring-jcl\5.1.5.RELEASE\spring-jcl-5.1.5.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\commons-codec\commons-codec\1.9\commons-codec-1.9.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\apache\commons\commons-lang3\3.4\commons-lang3-3.4.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\assertj\assertj-core\3.11.1\assertj-core-3.11.1.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\boot\spring-boot-starter-web\2.1.3.RELEASE\spring-boot-starter-web-2.1.3.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\boot\spring-boot-starter-json\2.1.3.RELEASE\spring-boot-starter-json-2.1.3.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\com\fasterxml\jackson\core\jackson-databind\2.9.8\jackson-databind-2.9.8.jar;D:\zengwei\apache-maven-3.6.0\Repository\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;D:\zengwei\apache-maven-3.6.0\Repository\com\fasterxml\jackson\core\jackson-core\2.9.8\jackson-core-2.9.8.jar;D:\zengwei\apache-maven-3.6.0\Repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.8\jackson-datatype-jdk8-2.9.8.jar;D:\zengwei\apache-maven-3.6.0\Repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.8\jackson-datatype-jsr310-2.9.8.jar;D:\zengwei\apache-maven-3.6.0\Repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.8\jackson-module-parameter-names-2.9.8.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\boot\spring-boot-starter-tomcat\2.1.3.RELEASE\spring-boot-starter-tomcat-2.1.3.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.16\tomcat-embed-core-9.0.16.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.16\tomcat-embed-el-9.0.16.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.16\tomcat-embed-websocket-9.0.16.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\hibernate\validator\hibernate-validator\6.0.14.Final\hibernate-validator-6.0.14.Final.jar;D:\zengwei\apache-maven-3.6.0\Repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;D:\zengwei\apache-maven-3.6.0\Repository\com\fasterxml\classmate\1.4.0\classmate-1.4.0.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\spring-web\5.1.5.RELEASE\spring-web-5.1.5.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\spring-webmvc\5.1.5.RELEASE\spring-webmvc-5.1.5.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\spring-context\5.1.5.RELEASE\spring-context-5.1.5.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\springframework\spring-expression\5.1.5.RELEASE\spring-expression-5.1.5.RELEASE.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\apache\httpcomponents\httpclient\4.5.5\httpclient-4.5.5.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\apache\httpcomponents\httpcore\4.4.11\httpcore-4.4.11.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\apache\httpcomponents\fluent-hc\4.5.5\fluent-hc-4.5.5.jar;D:\zengwei\apache-maven-3.6.0\Repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\zengwei\apache-maven-3.6.0\Repository\org\apache\httpcomponents\httpmime\4.5.5\httpmime-4.5.5.jar com.example.demo.Test.HttpClientTest
--------------请求接口: http://192.168.2.40/dina/subject/fast?category_id=2342&user_id=232
19:39:21.389 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
19:39:21.406 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
19:39:21.407 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection request: [route: {}->http://192.168.2.40:80][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
19:39:21.424 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection leased: [id: 0][route: {}->http://192.168.2.40:80][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20]
19:39:21.426 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening connection {}->http://192.168.2.40:80
19:39:21.431 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - Connecting to /192.168.2.40:80
19:39:21.437 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - Connection established 192.168.2.179:64466<->192.168.2.40:80
19:39:21.437 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing request GET /dina/subject/fast?category_id=2342&user_id=232 HTTP/1.1
19:39:21.437 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
19:39:21.437 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
19:39:21.438 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> GET /dina/subject/fast?category_id=2342&user_id=232 HTTP/1.1
19:39:21.438 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: Keep-alive
19:39:21.438 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
19:39:21.438 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Cookie: UM_distinctid=16442706a09352-0376059833914f-3c604504-1fa400-16442706a0b345; CNZZDATA1262458286=1603637673-1530123020-%7C1530123020; JSESSIONID=805587506F1594AE02DC45845A7216A4
19:39:21.438 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: 192.168.2.40
19:39:21.438 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: gzip,deflate
19:39:21.438 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "GET /dina/subject/fast?category_id=2342&user_id=232 HTTP/1.1[\r][\n]"
19:39:21.439 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Connection: Keep-alive[\r][\n]"
19:39:21.439 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36[\r][\n]"
19:39:21.439 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Cookie: UM_distinctid=16442706a09352-0376059833914f-3c604504-1fa400-16442706a0b345; CNZZDATA1262458286=1603637673-1530123020-%7C1530123020; JSESSIONID=805587506F1594AE02DC45845A7216A4[\r][\n]"
19:39:21.439 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Host: 192.168.2.40[\r][\n]"
19:39:21.439 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Accept-Encoding: gzip,deflate[\r][\n]"
19:39:21.439 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Server: nginx/1.15.9[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Date: Thu, 18 Apr 2019 11:39:20 GMT[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Type: text/html; charset=utf-8[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Length: 119[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Connection: keep-alive[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Access-Control-Allow-Origin: *[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Access-Control-Allow-Methods: GET,POST[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Access-Control-Allow-Headers: x-requested-with,content-type[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Access-Control-Allow-Origin: *[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Access-Control-Allow-Methods: GET, POST, OPTIONS[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Access-Control-Allow-Headers: DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
19:39:21.440 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "{"code": 200, "data": {"testitems_id": {"2607": 0.45, "2608": 0.35, "2609": 0.12, "2610": 0.47}, "book": 1, "num": 30}}"
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Server: nginx/1.15.9
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Thu, 18 Apr 2019 11:39:20 GMT
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: text/html; charset=utf-8
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 119
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Connection: keep-alive
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Access-Control-Allow-Origin: *
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Access-Control-Allow-Methods: GET,POST
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Access-Control-Allow-Headers: x-requested-with,content-type
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Access-Control-Allow-Origin: *
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Access-Control-Allow-Methods: GET, POST, OPTIONS
19:39:21.440 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Access-Control-Allow-Headers: DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization
19:39:21.440 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection can be kept alive indefinitely
19:39:21.440 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection [id: 0][route: {}->http://192.168.2.40:80] can be kept alive indefinitely
19:39:21.440 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: set socket timeout to 0
19:39:21.440 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection released: [id: 0][route: {}->http://192.168.2.40:80][total kept alive: 1; route allocated: 1 of 2; total allocated: 1 of 20]
19:39:21.440 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection manager is shutting down
19:39:21.440 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: Close connection
19:39:21.440 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection manager shut down
{"code": 200, "data": {"testitems_id": {"2607": 0.45, "2608": 0.35, "2609": 0.12, "2610": 0.47}, "book": 1, "num": 30}}
Process finished with exit code 0