Created
August 1, 2014 15:02
-
-
Save iann0036/d24d76bae99c117c99ef to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.*; | |
import java.net.*; | |
import javax.net.ssl.*; | |
import java.security.cert.*; | |
class vshieldExportImport { | |
public static void main(String[] args) { | |
try { | |
String output = httpGet("https://10.x.x.x/api/2.0/app/firewall/datacenter-2/config?list=config"); | |
System.out.println(output); | |
PrintWriter writer = new PrintWriter("rules.txt", "UTF-8"); | |
writer.println(output); | |
writer.close(); | |
} catch (Exception e) { | |
System.out.println(e); | |
} | |
} | |
public static String httpGet(String urlStr) throws Exception { | |
// Create a trust manager that does not validate certificate chains | |
TrustManager[] trustAllCerts = new TrustManager[] { | |
new X509TrustManager() { | |
public X509Certificate[] getAcceptedIssuers() { | |
return null; | |
} | |
public void checkClientTrusted(X509Certificate[] certs, String authType) { | |
// Trust always | |
} | |
public void checkServerTrusted(X509Certificate[] certs, String authType) { | |
// Trust always | |
} | |
} | |
}; | |
// Install the all-trusting trust manager | |
SSLContext sc = SSLContext.getInstance("SSL"); | |
// Create empty HostnameVerifier | |
HostnameVerifier hv = new HostnameVerifier() { | |
public boolean verify(String arg0, SSLSession arg1) { | |
return true; | |
} | |
}; | |
sc.init(null, trustAllCerts, new java.security.SecureRandom()); | |
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); | |
HttpsURLConnection.setDefaultHostnameVerifier(hv); | |
// Now you can access an https URL without having the certificate in the truststore | |
URL url = new URL(urlStr); | |
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); | |
conn.setRequestProperty("Authorization", "Basic xxxxx=="); | |
if (conn.getResponseCode() != 200) { | |
throw new IOException(conn.getResponseMessage()); | |
} | |
// Buffer the result into a string | |
BufferedReader rd = new BufferedReader( | |
new InputStreamReader(conn.getInputStream())); | |
StringBuilder sb = new StringBuilder(); | |
String line; | |
while ((line = rd.readLine()) != null) { | |
sb.append(line); | |
} | |
rd.close(); | |
conn.disconnect(); | |
return sb.toString(); | |
} | |
public static String httpPost(String urlStr, String[] paramName, String[] paramVal) throws Exception { | |
URL url = new URL(urlStr); | |
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); | |
conn.setRequestMethod("POST"); | |
conn.setDoOutput(true); | |
conn.setDoInput(true); | |
conn.setUseCaches(false); | |
conn.setAllowUserInteraction(false); | |
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); | |
// Create the form content | |
OutputStream out = conn.getOutputStream(); | |
Writer writer = new OutputStreamWriter(out, "UTF-8"); | |
for (int i = 0; i < paramName.length; i++) { | |
writer.write(paramName[i]); | |
writer.write("="); | |
writer.write(URLEncoder.encode(paramVal[i], "UTF-8")); | |
writer.write("&"); | |
} | |
writer.close(); | |
out.close(); | |
if (conn.getResponseCode() != 200) { | |
throw new IOException(conn.getResponseMessage()); | |
} | |
// Buffer the result into a string | |
BufferedReader rd = new BufferedReader( | |
new InputStreamReader(conn.getInputStream())); | |
StringBuilder sb = new StringBuilder(); | |
String line; | |
while ((line = rd.readLine()) != null) { | |
sb.append(line); | |
} | |
rd.close(); | |
conn.disconnect(); | |
return sb.toString(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment