annotate src/main/java/de/mpiwg/itgroup/ismi/utils/HTTPUtils.java @ 52:4ee8d47e1e34

hide simple search when not logged in. add scan viewer link to displayAuthor when codex is public.
author casties
date Fri, 02 Oct 2015 10:42:27 +0000
parents 2e911857a759
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.utils;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.io.BufferedReader;
jurzua
parents:
diff changeset
4 import java.io.IOException;
jurzua
parents:
diff changeset
5 import java.io.InputStream;
jurzua
parents:
diff changeset
6 import java.io.InputStreamReader;
jurzua
parents:
diff changeset
7 import java.net.HttpURLConnection;
jurzua
parents:
diff changeset
8 import java.net.URL;
jurzua
parents:
diff changeset
9 import java.net.URLConnection;
jurzua
parents:
diff changeset
10 import java.security.KeyManagementException;
jurzua
parents:
diff changeset
11 import java.security.NoSuchAlgorithmException;
jurzua
parents:
diff changeset
12 import java.security.cert.X509Certificate;
jurzua
parents:
diff changeset
13
jurzua
parents:
diff changeset
14 import javax.net.ssl.HttpsURLConnection;
jurzua
parents:
diff changeset
15 import javax.net.ssl.SSLContext;
jurzua
parents:
diff changeset
16 import javax.net.ssl.SSLSocketFactory;
jurzua
parents:
diff changeset
17 import javax.net.ssl.TrustManager;
jurzua
parents:
diff changeset
18 import javax.xml.parsers.DocumentBuilderFactory;
jurzua
parents:
diff changeset
19
jurzua
parents:
diff changeset
20 import org.apache.commons.io.IOUtils;
jurzua
parents:
diff changeset
21 import org.w3c.dom.Document;
jurzua
parents:
diff changeset
22
jurzua
parents:
diff changeset
23 import javax.net.ssl.TrustManager;
jurzua
parents:
diff changeset
24 import javax.net.ssl.X509TrustManager;
jurzua
parents:
diff changeset
25
jurzua
parents:
diff changeset
26
jurzua
parents:
diff changeset
27 public class HTTPUtils {
jurzua
parents:
diff changeset
28
jurzua
parents:
diff changeset
29
jurzua
parents:
diff changeset
30 public static Document getDocument(String link){
jurzua
parents:
diff changeset
31 try {
jurzua
parents:
diff changeset
32 Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(link);
jurzua
parents:
diff changeset
33 return doc;
jurzua
parents:
diff changeset
34 } catch (Exception e) {
jurzua
parents:
diff changeset
35 e.printStackTrace();
jurzua
parents:
diff changeset
36 }
jurzua
parents:
diff changeset
37 return null;
jurzua
parents:
diff changeset
38 }
jurzua
parents:
diff changeset
39
jurzua
parents:
diff changeset
40 public static String getResponse(String link) throws IOException{
jurzua
parents:
diff changeset
41
jurzua
parents:
diff changeset
42 URL url = new URL(link);
jurzua
parents:
diff changeset
43 URLConnection uc = url.openConnection();
jurzua
parents:
diff changeset
44 BufferedReader in = new BufferedReader(
jurzua
parents:
diff changeset
45 new InputStreamReader(
jurzua
parents:
diff changeset
46 uc.getInputStream()));
jurzua
parents:
diff changeset
47 String inputLine;
jurzua
parents:
diff changeset
48 StringBuilder sb = new StringBuilder();
jurzua
parents:
diff changeset
49 while ((inputLine = in.readLine()) != null)
jurzua
parents:
diff changeset
50 sb.append(inputLine);
jurzua
parents:
diff changeset
51 in.close();
jurzua
parents:
diff changeset
52
jurzua
parents:
diff changeset
53 return null;
jurzua
parents:
diff changeset
54 }
jurzua
parents:
diff changeset
55
jurzua
parents:
diff changeset
56
jurzua
parents:
diff changeset
57 final static TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
jurzua
parents:
diff changeset
58 @Override
jurzua
parents:
diff changeset
59 public void checkClientTrusted( final X509Certificate[] chain, final String authType ) {
jurzua
parents:
diff changeset
60 }
jurzua
parents:
diff changeset
61 @Override
jurzua
parents:
diff changeset
62 public void checkServerTrusted( final X509Certificate[] chain, final String authType ) {
jurzua
parents:
diff changeset
63 }
jurzua
parents:
diff changeset
64 @Override
jurzua
parents:
diff changeset
65 public X509Certificate[] getAcceptedIssuers() {
jurzua
parents:
diff changeset
66 return null;
jurzua
parents:
diff changeset
67 }
jurzua
parents:
diff changeset
68 } };
jurzua
parents:
diff changeset
69
jurzua
parents:
diff changeset
70 public static HttpResponse getHttpSSLResponse(String link) throws IOException, KeyManagementException, NoSuchAlgorithmException{
jurzua
parents:
diff changeset
71
jurzua
parents:
diff changeset
72 // Install the all-trusting trust manager
jurzua
parents:
diff changeset
73 final SSLContext sslContext = SSLContext.getInstance( "SSL" );
jurzua
parents:
diff changeset
74 sslContext.init( null, trustAllCerts, new java.security.SecureRandom() );
jurzua
parents:
diff changeset
75 // Create an ssl socket factory with our all-trusting manager
jurzua
parents:
diff changeset
76 final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
jurzua
parents:
diff changeset
77
jurzua
parents:
diff changeset
78 /////
jurzua
parents:
diff changeset
79
jurzua
parents:
diff changeset
80 URL url = new URL(link);
jurzua
parents:
diff changeset
81 HttpURLConnection httpConn = (HttpURLConnection)url.openConnection();
jurzua
parents:
diff changeset
82
jurzua
parents:
diff changeset
83 ( (HttpsURLConnection) httpConn ).setSSLSocketFactory( sslSocketFactory );
jurzua
parents:
diff changeset
84
jurzua
parents:
diff changeset
85
jurzua
parents:
diff changeset
86 InputStream in;
jurzua
parents:
diff changeset
87 if (httpConn.getResponseCode() >= 400) {
jurzua
parents:
diff changeset
88 in = httpConn.getErrorStream();
jurzua
parents:
diff changeset
89 } else {
jurzua
parents:
diff changeset
90 in = httpConn.getInputStream();
jurzua
parents:
diff changeset
91 }
jurzua
parents:
diff changeset
92
jurzua
parents:
diff changeset
93 return new HttpResponse(httpConn.getResponseCode(), in);
jurzua
parents:
diff changeset
94 }
jurzua
parents:
diff changeset
95
jurzua
parents:
diff changeset
96
jurzua
parents:
diff changeset
97 public static HttpStringResponse getHttpSSLStringResponse(String link) throws IOException, KeyManagementException, NoSuchAlgorithmException{
jurzua
parents:
diff changeset
98
jurzua
parents:
diff changeset
99 // Install the all-trusting trust manager
jurzua
parents:
diff changeset
100 final SSLContext sslContext = SSLContext.getInstance( "SSL" );
jurzua
parents:
diff changeset
101 sslContext.init( null, trustAllCerts, new java.security.SecureRandom() );
jurzua
parents:
diff changeset
102 // Create an ssl socket factory with our all-trusting manager
jurzua
parents:
diff changeset
103 final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
jurzua
parents:
diff changeset
104
jurzua
parents:
diff changeset
105 URL url = new URL(link);
jurzua
parents:
diff changeset
106 HttpURLConnection httpConn = (HttpURLConnection)url.openConnection();
jurzua
parents:
diff changeset
107
jurzua
parents:
diff changeset
108 ( (HttpsURLConnection) httpConn ).setSSLSocketFactory( sslSocketFactory );
jurzua
parents:
diff changeset
109
jurzua
parents:
diff changeset
110
jurzua
parents:
diff changeset
111 BufferedReader in = null;
jurzua
parents:
diff changeset
112 if (httpConn.getResponseCode() >= 400) {
jurzua
parents:
diff changeset
113 in = new BufferedReader(
jurzua
parents:
diff changeset
114 new InputStreamReader(
jurzua
parents:
diff changeset
115 httpConn.getErrorStream()));
jurzua
parents:
diff changeset
116 } else {
jurzua
parents:
diff changeset
117 in = new BufferedReader(
jurzua
parents:
diff changeset
118 new InputStreamReader(
jurzua
parents:
diff changeset
119 httpConn.getInputStream()));
jurzua
parents:
diff changeset
120 }
jurzua
parents:
diff changeset
121
jurzua
parents:
diff changeset
122
jurzua
parents:
diff changeset
123 String inputLine;
jurzua
parents:
diff changeset
124 StringBuilder sb = new StringBuilder();
jurzua
parents:
diff changeset
125 while ((inputLine = in.readLine()) != null)
jurzua
parents:
diff changeset
126 sb.append(inputLine + "\n");
jurzua
parents:
diff changeset
127 in.close();
jurzua
parents:
diff changeset
128
jurzua
parents:
diff changeset
129 return new HttpStringResponse(httpConn.getResponseCode(), sb.toString());
jurzua
parents:
diff changeset
130 }
jurzua
parents:
diff changeset
131
jurzua
parents:
diff changeset
132 public static HttpStringResponse getHttpStringResponse(String link) throws IOException{
jurzua
parents:
diff changeset
133
jurzua
parents:
diff changeset
134 //System.out.println(link);
jurzua
parents:
diff changeset
135
jurzua
parents:
diff changeset
136 URL url = new URL(link);
jurzua
parents:
diff changeset
137 HttpURLConnection httpConn = (HttpURLConnection)url.openConnection();
jurzua
parents:
diff changeset
138
jurzua
parents:
diff changeset
139 BufferedReader in = null;
jurzua
parents:
diff changeset
140 if (httpConn.getResponseCode() >= 400) {
jurzua
parents:
diff changeset
141 in = new BufferedReader(
jurzua
parents:
diff changeset
142 new InputStreamReader(
jurzua
parents:
diff changeset
143 httpConn.getErrorStream()));
jurzua
parents:
diff changeset
144 } else {
jurzua
parents:
diff changeset
145 in = new BufferedReader(
jurzua
parents:
diff changeset
146 new InputStreamReader(
jurzua
parents:
diff changeset
147 httpConn.getInputStream()));
jurzua
parents:
diff changeset
148 }
jurzua
parents:
diff changeset
149
jurzua
parents:
diff changeset
150
jurzua
parents:
diff changeset
151 String inputLine;
jurzua
parents:
diff changeset
152 StringBuilder sb = new StringBuilder();
jurzua
parents:
diff changeset
153 while ((inputLine = in.readLine()) != null)
jurzua
parents:
diff changeset
154 sb.append(inputLine + "\n");
jurzua
parents:
diff changeset
155 in.close();
jurzua
parents:
diff changeset
156
jurzua
parents:
diff changeset
157 return new HttpStringResponse(httpConn.getResponseCode(), sb.toString());
jurzua
parents:
diff changeset
158 }
jurzua
parents:
diff changeset
159
jurzua
parents:
diff changeset
160 public static class HttpStringResponse{
jurzua
parents:
diff changeset
161 public int code;
jurzua
parents:
diff changeset
162 public String content;
jurzua
parents:
diff changeset
163 public HttpStringResponse(int code, String content){
jurzua
parents:
diff changeset
164 this.code = code;
jurzua
parents:
diff changeset
165 this.content = content;
jurzua
parents:
diff changeset
166 }
jurzua
parents:
diff changeset
167 }
jurzua
parents:
diff changeset
168
jurzua
parents:
diff changeset
169 public static class HttpResponse{
jurzua
parents:
diff changeset
170 public int code;
jurzua
parents:
diff changeset
171 public InputStream content;
jurzua
parents:
diff changeset
172 public HttpResponse(int code, InputStream content){
jurzua
parents:
diff changeset
173 this.code = code;
jurzua
parents:
diff changeset
174 this.content = content;
jurzua
parents:
diff changeset
175 }
jurzua
parents:
diff changeset
176 }
jurzua
parents:
diff changeset
177 }