package com.levelup.java.net; import static org.junit.Assert.assertNotNull; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import org.apache.commons.io.IOUtils; import org.apache.log4j.Logger; import org.junit.Test; import com.google.common.base.Charsets; import com.google.common.io.CharStreams; import com.google.common.io.Resources; /** * This java example will show how to read the contents of a webpage. * * @author Justin Musgrove * @see <a href= * 'http://www.leveluplunch.com/java/examples/get-webpage-contents-url-uri-as-string/'>Get * web page contents as string</a> */ public class GetWebPageContents { private static final Logger logger = Logger .getLogger(GetWebPageContents.class); @Test public void web_page_contents_java() throws IOException { URL getUrlContent = new URL("http://www.example.com/"); BufferedReader in = new BufferedReader(new InputStreamReader( getUrlContent.openStream())); String webpageAsString; while ((webpageAsString = in.readLine()) != null) System.out.println(webpageAsString); in.close(); logger.info(webpageAsString); assertNotNull(webpageAsString); } @Test public void web_page_contents_java7() throws IOException { URL url = new URL("http://www.example.com/"); String readUrlContents; try (InputStreamReader reader = new InputStreamReader(url.openStream(), Charsets.UTF_8)) { readUrlContents = CharStreams.toString(reader); } logger.info(readUrlContents); assertNotNull(readUrlContents); } @Test public void web_page_contents_guava() throws IOException { URL url = new URL("http://www.example.com/"); String downloadWebpage = Resources.asByteSource(url) .asCharSource(Charsets.UTF_8).read(); logger.info(downloadWebpage); assertNotNull(downloadWebpage); } @Test public void web_page_contents_apache() throws IOException, URISyntaxException { URL url = new URL("http://www.example.com/"); String pageContents = IOUtils.toString(url, Charsets.UTF_8); logger.info(pageContents); assertNotNull(pageContents); // or URI uri = new URI("http://www.example.com/"); String siteContents = IOUtils.toString(uri, Charsets.UTF_8); logger.info(siteContents); assertNotNull(siteContents); } }