]> WPIA git - gigi.git/blob - src/org/cacert/gigi/ping/HTTPFetch.java
3bb2d095d3dd598c4f6c86f5fd594983fcbf48c9
[gigi.git] / src / org / cacert / gigi / ping / HTTPFetch.java
1 package org.cacert.gigi.ping;
2
3 import java.io.BufferedReader;
4 import java.io.IOException;
5 import java.io.InputStreamReader;
6 import java.net.HttpURLConnection;
7 import java.net.URL;
8
9 public class HTTPFetch extends DomainPinger {
10
11     @Override
12     public String ping(String domain, String expToken) {
13         try {
14             String[] tokenParts = expToken.split(":", 2);
15             URL u = new URL("http://" + domain + "/cacert_" + tokenParts[0] + ".txt");
16             System.out.println(u.toString());
17             HttpURLConnection huc = (HttpURLConnection) u.openConnection();
18             if (huc.getResponseCode() != 200) {
19                 return "Invalid status code.";
20             }
21             BufferedReader br = new BufferedReader(new InputStreamReader(huc.getInputStream(), "UTF-8"));
22             String line = br.readLine();
23             if (line == null) {
24                 return "No response from your server.";
25             }
26             if (line.trim().equals(tokenParts[1])) {
27                 return PING_SUCCEDED;
28             }
29             return "Challange tokens differed.";
30         } catch (IOException e) {
31             e.printStackTrace();
32             return "Connection closed.";
33         }
34     }
35 }