El Limbo del Informático.


Crear conexion HttpsURLConnection

Publicado en Java Server Page (JSP) por jantoniogc en 28 septiembre 2009

Para poder establecer una conexión https lo primero que tenemos que hacer es definir el código necesario que nos permite aceptar los certificados. Para aceptar todos los certificados debemos hacer los siguiente:

/*Aceptamos todos los certificados*/
  TrustManager[] trustAllCerts = new TrustManager[]{
   new X509TrustManager() {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
     return null;
    }
    public void checkClientTrusted(
     java.security.cert.X509Certificate[] certs, String authType) {
    } 
    public void checkServerTrusted(
     java.security.cert.X509Certificate[] certs, String authType) {
     
    }
   }
  };

  try {
   SSLContext sc = SSLContext.getInstance(“SSL”);
   sc.init(null, trustAllCerts, new java.security.SecureRandom());
   HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
  } catch (Exception e) {
  }

 

  HostnameVerifier hv = new HostnameVerifier() {
     public boolean verify(String urlHostName, SSLSession session) {
         return true;
     }
  };

ahora a continuación estableceremos la conexión:

URL _URL = null;
  try {
   _URL = new URL(“https://……….”);
  } catch (MalformedURLException e) {
   out.println(“   ERROR: La url de conexión no es correcta.”);
  }

HttpsURLConnection.setDefaultHostnameVerifier(hv);
  try{
    HttpsURLConnection conn = (HttpsURLConnection) _URL.openConnection();
    //conn.setMethod(“GET”);
    conn.setRequestProperty(“User-Agent”,”Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2″);
    conn.setRequestProperty(“Accept”,”text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8″);
    conn.setRequestProperty(“Accept Language”,”es-es,es;q=0.8,en-us;q=0.5,en;q=0.3″);
    conn.setRequestProperty(“Accept-Encoding” ,”gzip,deflate”);
    conn.setRequestProperty(“Accept-Charset”,”ISO-8859-1,utf-8;q=0.7,*;q=0.7″);
    conn.setRequestProperty(“Keep-Alive”,”300″);
    conn.setRequestProperty(“Connection”,”keep-alive”);
    conn.setRequestProperty(“Content-type”,”text/xml”);
    conn.setRequestProperty(“Cache-Control”, “no-cache”);
    conn.setDoInput(true);
    conn.setRequestMethod(“GET”);
    BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
   String line = null;
    while ((line = br.readLine()) != null) {
      out.println(line);
   }
   int status = conn.getResponseCode();
   
  } catch (Exception e) {
   out.println(“error:”+ e.getMessage());
  }

Advertisement

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s


Seguir

Get every new post delivered to your Inbox.