HTTPS
public class Test { public static HttpClient wrapClient(HttpClient base) throws Exception { SSLContext ctx = SSLContext.getInstance("TLSv1"); X509TrustManager tm = new X509TrustManager(){ public X509Certificate[] getAcceptedIssuers() { return null; } public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {} public void checkServerTrusted(X509Certificate[] arg0, String arg1)throws CertificateException{} }; ctx.init(null, new TrustManager[] { tm }, null); SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); ClientConnectionManager ccm = base.getConnectionManager(); SchemeRegistry registry = ccm.getSchemeRegistry(); registry.register(new Scheme("https", 443, ssf)); return new DefaultHttpClient(ccm, base.getParams()); } public static void main(String args[]) throws Exception { HttpClient client=wrapClient(new DefaultHttpClient()); // HttpGet get=new HttpGet("https://beta.openimslive.com/omp/oauth/authorize?app_key=cqMIkoEd9AUrktTP7EMWNykTwlka&response_type=code&redirect_uri=http://www.engyne.net"); // get.setHeader("Host", "1.1.1.1:8543"); // get.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); // get.setHeader("Accept", "text/html, application/xhtml+xml, */*"); String fastloginUsername = "+8675566552003"; String fastloginPassword = "mdx3600@HW"; String server = "205.177.226.80:8543"; String appKey = "wfbVlIqjuT4miYMFxmqhMSn2Bsoa"; OmpRestClient Restclient = new OmpRestClient(server, appKey); String accessToken=Restclient.getFastloginToken(fastloginUsername, fastloginPassword); System.out.println(accessToken); String url="https://193.3.2.16:8543/sandbox/rest/httpsessions/click2Call/v1.0?app_key=nGe8HpnhunNsh5yYGT8xfcAE9dsa&access_token="+"+accessToken+"+"&format=json"; HttpPost post = new HttpPost(url); //post.setHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); List<BasicNameValuePair> formparams = new ArrayList<BasicNameValuePair>(); formparams.add(new BasicNameValuePair("calleeNbr","+8613163359533")); formparams.add(new BasicNameValuePair("callerNbr","+867556666663036")); formparams.add( new BasicNameValuePair("displayNbr","+867556666663036")); formparams.add(new BasicNameValuePair("languageType","1")); UrlEncodedFormEntity uefEntity= new UrlEncodedFormEntity(formparams, "UTF-8"); post.setEntity(uefEntity); HttpResponse resp=client.execute(post); System.out.println(resp.toString()); System.out.println(resp.getStatusLine().getStatusCode()); System.out.println(resp.getEntity().getContent()); } }HTTP
普通的httpclient应用 应对http情况
package net.engyne.common; import java.io.IOException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.io.IOUtils; import org.apache.log4j.Logger; import net.sf.json.JSONObject; public class RemoteOperation { private static Logger logger = Logger.getLogger(RemoteOperation.class); public static JSONObject remotePostCall(String url) throws HttpException, IOException { HttpClient httpClient = new HttpClient(); PostMethod post = new PostMethod(url); post.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); NameValuePair[] param = { new NameValuePair("calleeNbr","+8613163359533"), new NameValuePair("callerNbr","+867556666663036"), new NameValuePair("displayNbr","+867556666663036"), new NameValuePair("languageType","1") } ; post.setRequestBody(param); int retcode = httpClient.executeMethod(post); if (retcode != HttpStatus.SC_OK) {// 发送不成功 logger.info("远程调用出错"); return null; } else { String body = post.getResponseBodyAsString(); logger.info(body + "远程调用php成功"); JSONObject jsonObject = new JSONObject(); try { jsonObject = JSONObject.fromObject(body); } catch (Exception e) { e.printStackTrace(); } if (post != null) { post.releaseConnection(); } return jsonObject; } } public static JSONObject remoteGetCall(String url) throws HttpException, IOException { HttpClient httpClient = new HttpClient(); GetMethod method = new GetMethod(url); method.setRequestHeader("Accept", "text/html, application/xhtml+xml, */*");; int retcode = httpClient.executeMethod(method); if (retcode != HttpStatus.SC_OK) {// 发送不成功 logger.info("远程调用出错"); return null; } else { String body = method.getResponseBodyAsString(); logger.info(body + "远程调用php成功"); JSONObject jsonObject = new JSONObject(); try { jsonObject = JSONObject.fromObject(body); } catch (Exception e) { e.printStackTrace(); } if (method != null) { method.releaseConnection(); } return jsonObject; } } public static void main(String args[]) { } }