导入maven依赖
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
编写工具类
package cn.sdu.weblab.util;
import com.google.gson.Gson;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class HttpClient {
public static String sendPost(String url, Map<String, Object> paramMap) throws HttpException, IOException {
org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);
PostMethod postMethod = new PostMethod(url);
postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);
if (paramMap != null && paramMap.size() > 0) {
NameValuePair[] paramArr = new NameValuePair[paramMap.size()];
int index = 0;
for (String key : paramMap.keySet()) {
String value = String.valueOf(paramMap.get(key));
NameValuePair param = new NameValuePair(key, value);
paramArr[index++] = param;
}
postMethod.setQueryString(paramArr);
}
int resCode = httpClient.executeMethod(postMethod);
byte[] responseBody = postMethod.getResponseBody();
String result = new String(responseBody, "UTF-8");
postMethod.releaseConnection();
return result;
}
public static String sendGet(String urlParam, Map<String, Object> paramMap) throws HttpException, IOException {
org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);
GetMethod getMethod = new GetMethod(urlParam);
getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);
if (paramMap != null && paramMap.size() > 0) {
NameValuePair[] paramArr = new NameValuePair[paramMap.size()];
int index = 0;
for (String key : paramMap.keySet()) {
String value = String.valueOf(paramMap.get(key));
NameValuePair param = new NameValuePair(key, value);
paramArr[index++] = param;
}
getMethod.setQueryString(paramArr);
}
httpClient.executeMethod(getMethod);
String result = null;
byte[] responseBody = getMethod.getResponseBody();
result = new String(responseBody, "UTF-8");
getMethod.releaseConnection();
return result;
}
public static String getLogSocketUrl(String serviceId) {
String url = "http://211.87.224.233:9090/service/info/" + serviceId;
String res = null;
boolean conn = false;
String socketUrl = null;
try {
res = HttpClient.sendGet(url, null);
Gson gson = new Gson();
JSONObject object = gson.fromJson(res, JSONObject.class);
Map<String, Object> pkg = (Map<String, Object>) object.get("pkg");
String ip = (String) pkg.get("ip");
String hostName = (String) pkg.get("hostName");
Integer containerPort = (int) (double) pkg.get("containerPort");
Integer hostPort = (int) (double) pkg.get("hostPort");
Integer logWebsocketPort = (int) (double) pkg.get("logWebsocketPort");
String logWebsocketPath = (String) pkg.get("logWebsocketPath");
socketUrl = "ws://" + ip + ":" + logWebsocketPort + logWebsocketPath;
System.err.println(socketUrl);
} catch (Exception e) {
return null;
}
return socketUrl;
}
public static Map<String, Object> login(String username, String password) throws IOException, JSONException {
String url = "http://211.87.224.233:8080/weblab/user/login";
Map<String, Object> paraMap = new HashMap<>();
paraMap.put("username", username);
paraMap.put("password", password);
String res = sendPost(url, paraMap);
Gson gson = new Gson();
JSONObject object = gson.fromJson(res, JSONObject.class);
String msg = (String) object.get("msg");
if (!msg.equals("success")) {
return null;
} else {
Map<String, Object> pkg = (Map<String, Object>) object.get("pkg");
return pkg;
}
}
public static void main(String[] args) throws HttpException, IOException, JSONException {
Double d = 1.0;
double d1 = d;
int d11 = (int) d1;
String url = "http://211.87.224.233:9090/service/info/wasd";
String res = sendGet(url, null);
Gson gson = new Gson();
JSONObject object = gson.fromJson(res, JSONObject.class);
Map<String, Object> pkg = (Map<String, Object>) object.get("pkg");
String ip = (String) pkg.get("ip");
String hostName = (String) pkg.get("hostName");
Integer containerPort = (int) (double) pkg.get("containerPort");
Integer hostPort = (int) (double) pkg.get("hostPort");
Integer logWebsocketPort = (int) (double) pkg.get("logWebsocketPort");
String logWebsocketPath = (String) pkg.get("logWebsocketPath");
}
}