--- trunk/src/skrueger/Sitemap.java 2010/12/01 01:09:52 1319 +++ branches/2.4.x/src/skrueger/Sitemap.java 2011/01/26 13:46:20 1383 @@ -1,11 +1,12 @@ package skrueger; import java.io.FileWriter; -import java.io.IOException; import java.io.StringWriter; import java.io.Writer; -import java.net.MalformedURLException; +import java.net.HttpURLConnection; import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; import java.util.Date; import javax.xml.parsers.DocumentBuilderFactory; @@ -33,7 +34,13 @@ */ public class Sitemap { - static String[] SEARCHENGINES = new String[] { "http://www.sitemapwriter.com/notify.php?crawler=all&url=" }; + static String[] SEARCHENGINES = new String[] { + "http://www.sitemapwriter.com/notify.php?crawler=all&url=", + "http://submissions.ask.com/ping?sitemap=", + "http://www.google.com/webmasters/tools/ping?sitemap=", + "http://api.moreover.com/ping?u=", + "http://www.bing.com/webmaster/ping.aspx?siteMap=", + "http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=" }; final static Logger log = Logger.getLogger(Sitemap.class); @@ -181,17 +188,32 @@ return size; } - public static void submitToSearchEngines(String urlToSitemap) { - for (String se : SEARCHENGINES) { - log.info("Submitting " + urlToSitemap + " to " + se); - try { - URL url = new URL(se + urlToSitemap); - - url.openConnection().connect(); - - } catch (Exception e) { - log.error("failed to submit " + urlToSitemap + " to " + se, e); + public static void submitToSearchEngines(String urlToSitemap) { + try { + + urlToSitemap = URLEncoder.encode(urlToSitemap, "UTF-8"); + for (String se : SEARCHENGINES) { + log.info("Submitting " + urlToSitemap + " to " + se); + try { + URL url = new URL(se + urlToSitemap); + + URLConnection openConnection = url.openConnection(); + if (openConnection instanceof HttpURLConnection) { + HttpURLConnection httpconnection = ((HttpURLConnection) openConnection); + if (httpconnection.getResponseCode() != 200) { + log.error(se + " returned ResponseCode " + + httpconnection.getResponseCode() + + " for " + urlToSitemap); + } + } + + } catch (Exception e) { + log.error("failed to submit " + urlToSitemap + " to " + se, + e); + } } + } catch (Exception e) { + log.error("Error URL encoding " + urlToSitemap, e); } } }