Jump to content

Rosetta Code/Count examples/Java/ScreenScrape

From Rosetta Code
import java.io.*;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;

public class ScreenScrape {

	public String read(String sUrl) throws Exception {
		String lastHtml = "";
		BufferedReader reader;
        if (sUrl.startsWith("https://")) { // The URL class doesn't like HTTPS so we have to check for it.
                reader = new BufferedReader(new InputStreamReader(
                                                getSSLOutputCon(sUrl).getInputStream()));
        } else if (sUrl.startsWith("http://")) { // for nonsecure http
                reader = new BufferedReader(new InputStreamReader(
                                                new URL(sUrl).openStream()));
        } else {
        	return "Protocol not supported.  Please verify that your URL starts with "
        			+ "\"http://\" or \"https://\" and try again.";
        }
 
        String line = reader.readLine();
        while (line != null) {
                lastHtml += line;
                line = reader.readLine();
        }
        return lastHtml;
    }
        private HttpsURLConnection httpsUrlCon;
        private HttpsURLConnection getSSLOutputCon(String sUrl) throws Exception {
                try {
                        URL url = new URL(sUrl);
                        httpsUrlCon = (HttpsURLConnection) url.openConnection();
                        httpsUrlCon.setHostnameVerifier(new javax.net.ssl.HostnameVerifier() {
                                public boolean verify(String hostname, javax.net.ssl.SSLSession certHostName) {
                                        return true;
                                }
                        								});
                } catch(Exception e) {
                        throw e;
                }
                return httpsUrlCon;
        }
}
Cookies help us deliver our services. By using our services, you agree to our use of cookies.