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