zoukankan      html  css  js  c++  java
  • java 访问HTTPS rest服务

    import java.io.*;
    import java.net.*;
    import java.security.cert.CertificateException;
    import java.security.cert.X509Certificate;
    import javax.net.ssl.*;

    import org.json.JSONObject;

    public class AgsPortalLogic {

    /**
    * @param args
    */
    private static class TrustAnyTrustManager implements X509TrustManager {

    public void checkClientTrusted(X509Certificate[] chain, String authType)
    throws CertificateException {
    }

    public void checkServerTrusted(X509Certificate[] chain, String authType)
    throws CertificateException {
    }

    public X509Certificate[] getAcceptedIssuers() {
    return new X509Certificate[] {};
    }
    }

    private static class TrustAnyHostnameVerifier implements HostnameVerifier {
    public boolean verify(String hostname, SSLSession session) {
    return true;
    }
    }
    public static void main(String[] args) throws Exception {
    InputStream in = null;
    OutputStream out = null;
    byte[] buffer = new byte[4096];
    String str_return = "";
    try {
    SSLContext sc = SSLContext.getInstance("SSL");
    sc.init(null, new TrustManager[] { new TrustAnyTrustManager() },
    new java.security.SecureRandom());
    URL console = new URL(
    "https://portal190182.arcgiscloud.com/arcgis/sharing/generateToken");
    HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
    conn.setRequestMethod("POST");
    conn.setSSLSocketFactory(sc.getSocketFactory());
    conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
    conn.setRequestProperty("Accept", "application/json");
    conn.setDoInput(true);
    conn.setDoOutput(true);

    String inpputs="username=arcgis&password=arcgis123&client=requestip&f=json";
    OutputStream os = conn.getOutputStream();
    os.write(inpputs.getBytes());
    os.close();
    conn.connect();

    InputStream is = conn.getInputStream();
    // // DataInputStream indata = new DataInputStream(is);
    BufferedReader reader=new BufferedReader(new InputStreamReader(is));
    String ret = "";
    while (ret != null) {
    ret = reader.readLine();
    if (ret != null && !ret.trim().equals("")) {
    str_return = str_return
    + ret;
    }



    }

    conn.disconnect();
    } catch (ConnectException e) {
    System.out.println("ConnectException");
    System.out.println(e);
    throw e;

    } catch (IOException e) {
    System.out.println("IOException");
    System.out.println(e);
    throw e;

    } finally {
    try {
    in.close();
    } catch (Exception e) {
    }
    try {
    out.close();
    } catch (Exception e) {
    }
    }
    JSONObject jsonobject = new JSONObject(str_return);
    System.out.println(jsonobject.getString("token"));

    }

    }

  • 相关阅读:
    ContextLoaderListener作用详解
    Spring启动流程
    解决filter拦截request中body内容后,字符流关闭,无法传到controller的问题
    Spring拦截器从Request中获取Json格式的数据
    Filter和Interceptor的终归作用还是从入口修改或验证请求进来的数据
    HttpServletRequest常用获取URL的方法
    Spark1.0.0 监测方法
    nginx代理人server结合tomcat采用
    Guangsoushensou 2
    admob广告开始个人资料网址
  • 原文地址:https://www.cnblogs.com/dubaokun/p/3205440.html
Copyright © 2011-2022 走看看