title: java - get html from ip address
body: <p>I have devices that publish an html page when you connect via their ip address. For example, if I were to go to "192.168.1.104" on my computer, i would see the html page the device publishes. I am trying to scrape this html, but I am getting some errors, specifically a MalformedURLException at the first line of my method. I have posted my method below. I found some code for getting html and tweaked it for my needs. Thanks</p>
  
  <pre><code>public String getSbuHtml(String ipToPoll) throws IOException, SocketTimeoutException {
      URL url = new URL("http", ipToPoll, -1, "/");
      URLConnection con = url.openConnection();
      con.setConnectTimeout(1000);
      con.setReadTimeout(1000);
      Pattern p = Pattern.compile("text/html;\\s+charset=([^\\s]+)\\s*");
      Matcher m = p.matcher(con.getContentType());
      String charset = m.matches() ? m.group(1) : "ISO-8859-1";
      BufferedReader r = new BufferedReader(
              new InputStreamReader(con.getInputStream(), charset));
      String line = null;
      StringBuilder buf = new StringBuilder();
      while ((line = r.readLine()) != null) {
          buf.append(line).append(System.getProperty("line.separator"));
      }
      return buf.toString();
  }
  </code></pre>
  
  <p>EDIT: The above code has been changed to reflect constructing a new URL to work properly with an ip. However, when I try and get the contentType from the connection, it is null. </p>