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

    }

    }

  • 相关阅读:
    hdu 4002 Find the maximum
    hdu 2837 坑题。
    hdu 3123
    zoj Treasure Hunt IV
    hdu 2053 Switch Game 水题一枚,鉴定完毕
    poj 1430 Binary Stirling Numbers
    hdu 3037 Saving Beans
    hdu 3944 dp?
    南阳oj 求N!的二进制表示最低位的1的位置(从右向左数)。
    fzu 2171 防守阵地 II
  • 原文地址:https://www.cnblogs.com/dubaokun/p/3205440.html
Copyright © 2011-2022 走看看