title: Handling connection errors and JSoup
body: <p>I'm trying to create an application to scrape content off of multiple pages on a site. I am using JSoup to connect. This is my code:</p>
  
  <pre><code>for (String locale : langList){
          sitemapPath = sitemapDomain+"/"+locale+"/"+sitemapName;
          try {
              Document doc = Jsoup.connect(sitemapPath)
                      .userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21")
                      .timeout(10000)
                      .get();
  
              Elements element = doc.select("loc");   
              for (Element urls : element) {
                  System.out.println(urls.text());
                  }
          } catch (IOException e) {
              System.out.println(e);
          }
      }
  </code></pre>
  
  <p>Everything works perfectly most of the time. However there are a few things I want to be able to do.</p>
  
  <p>First off sometimes a 404 status will return or a 500 status maybe a 301. With my code below it will just print the error and move onto the next url. What I would like to be able to do is try to be able to return the url status for all links. If the page connects print a 200, if not print the relevant status code.</p>
  
  <p>Secondly I sometimes catch this error "java.net.SocketTimeoutException: Read timed out" I could increase my timeout however I would prefer to try to connect 3 times, upon failing the 3rd time I want to add the URL to a "failed" array so I can retry the failed connections in the future.</p>
  
  <p>Can someone with more knowledge than me help me out?</p>