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"));

    }

    }

  • 相关阅读:
    Windows 下Nexus搭建Maven私服
    WebService中获取request对象一例
    利用window.navigator.userAgent判断当前是否微信内置浏览器
    批量插入写法
    MySql 使用递归函数时遇到的级联删除问题
    【Mysql】 你会用 information_schema吗?
    Volatile 多线程中用到的关键字
    spring+springMVC中使用@Transcational方式管理事务的必须要配的东西。
    Android中操作SQLite数据库
    Oracle中的字符处理方法
  • 原文地址:https://www.cnblogs.com/dubaokun/p/3205440.html
Copyright © 2011-2022 走看看