
package com.example.hostel.util;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.message.BasicHeader;
public class HttpClientUtil {
public HttpClientUtil() {
}
public String doPost(String var1, JSONObject var2) {
SSLClient var3 = null;
HttpPost var4 = null;
String var5 = "";
try {
var3 = new SSLClient();
var4 = new HttpPost(var1);
var3.getParams().setParameter("http.protocol.content-charset", "UTF-8");
var4.addHeader("Content-Type", "application/json");
StringEntity var6 = new StringEntity(var2.toString(), "utf-8");
var6.setContentType("text/json");
var6.setContentEncoding(new BasicHeader("Content-Type", "application/json"));
System.out.println(var2.toString());
var4.setEntity(var6);
HttpResponse var7 = var3.execute(var4);
InputStream var8 = var7.getEntity().getContent();
BufferedReader var9 = new BufferedReader(new InputStreamReader(var8, "utf-8"));
StringBuilder var10 = new StringBuilder();
String var11 = null;
while((var11 = var9.readLine()) != null) {
var10.append(var11 + "\n");
}
var8.close();
var5 = var10.toString();
System.out.println("请求结果=" + var5);
if (var7.getStatusLine().getStatusCode() == 200) {
System.out.println("请求服务器成功,做相应处理");
} else {
System.out.println("请求服务端失败");
}
return var5;
} catch (Exception var12) {
System.out.println("请求异常");
var12.printStackTrace();
throw new RuntimeException(var12);
}
}
public static Map<String, Object> jsopStr2Map(String var0) {
new HashMap();
JSONObject var2 = JSONObject.fromObject(var0);
return var2;
}
}
package com.example.hostel.util;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
public class SSLClient extends DefaultHttpClient {
public SSLClient() throws Exception {
SSLContext var1 = SSLContext.getInstance("TLS");
X509TrustManager var2 = new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] var1, String var2) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] var1, String var2) throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
var1.init((KeyManager[])null, new TrustManager[]{var2}, (SecureRandom)null);
SSLSocketFactory var3 = new SSLSocketFactory(var1, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
ClientConnectionManager var4 = this.getConnectionManager();
SchemeRegistry var5 = var4.getSchemeRegistry();
var5.register(new Scheme("https", 443, var3));
}
}
package com.api.qdm.test.web;
import com.api.qdm.test.entity.FIReqOrder;
import com.api.qdm.test.service.impl.SapApiServiceImpl;
import com.engine.common.util.ServiceUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
@Path("/qdm/test")
public class TestAction {
private static final Log logger = LogFactory.getLog(TestAction.class);
@POST
@Path("/test1")
@Produces(MediaType.APPLICATION_JSON)
public Map submitTest(FIReqOrder order){
logger.info("请求成功,"+order);
Map resMap = new HashMap();
try{
SapApiServiceImpl service = ServiceUtil.getService(SapApiServiceImpl.class);
Map map = service.submitwf(order);
logger.info("接口返回的信息:"+map);
return map;
}catch (Exception e){
e.printStackTrace();
resMap.put("errcode","-1");
resMap.put("errmsg","程序异常!"+e.getMessage());
logger.info("接口返回的信息:"+resMap);
return resMap;
}
}
}

本文介绍了一个使用Java实现的HTTP客户端工具类,详细展示了如何通过Apache HttpClient库发送POST请求,并解析响应结果。同时,为了处理HTTPS请求,文章还提供了一种创建信任所有证书的SSL客户端的方法。此外,还提供了一个用于将JSON字符串转换为Map的实用函数。
2750

被折叠的 条评论
为什么被折叠?



