Index: src/java/org/apache/nutch/crawl/Injector.java
===================================================================
--- src/java/org/apache/nutch/crawl/Injector.java	(revision 557577)
+++ src/java/org/apache/nutch/crawl/Injector.java	(working copy)
@@ -52,6 +52,7 @@
     private URLFilters filters;
     private ScoringFilters scfilters;
     private long curTime;
+    final UrlValidator validator = UrlValidator.get();
 
     public void configure(JobConf job) {
       this.jobConf = job;
@@ -71,28 +72,30 @@
       Text value = (Text)val;
       String url = value.toString();              // value is line of text
       // System.out.println("url: " +url);
-      try {
-        url = urlNormalizers.normalize(url, URLNormalizers.SCOPE_INJECT);       // normalize the url
-        url = filters.filter(url);             // filter the url
-      } catch (Exception e) {
-        if (LOG.isWarnEnabled()) { LOG.warn("Skipping " +url+":"+e); }
-        url = null;
-      }
-      if (url != null) {                          // if it passes
-        value.set(url);                           // collect it
-        CrawlDatum datum = new CrawlDatum(CrawlDatum.STATUS_INJECTED, interval);
-        datum.setFetchTime(curTime);
-        datum.setScore(scoreInjected);
+      if (!validator.isValid(url)) {
         try {
-          scfilters.injectedScore(value, datum);
-        } catch (ScoringFilterException e) {
-          if (LOG.isWarnEnabled()) {
-            LOG.warn("Cannot filter injected score for url " + url +
-                     ", using default (" + e.getMessage() + ")");
+          url = urlNormalizers.normalize(url, URLNormalizers.SCOPE_INJECT);       // normalize the url
+          url = filters.filter(url);             // filter the url
+        } catch (Exception e) {
+          if (LOG.isWarnEnabled()) { LOG.warn("Skipping " +url+":"+e); }
+          url = null;
+        }
+        if (url != null) {                          // if it passes
+          value.set(url);                           // collect it
+          CrawlDatum datum = new CrawlDatum(CrawlDatum.STATUS_INJECTED, interval);
+          datum.setFetchTime(curTime);
+          datum.setScore(scoreInjected);
+          try {
+            scfilters.injectedScore(value, datum);
+          } catch (ScoringFilterException e) {
+            if (LOG.isWarnEnabled()) {
+              LOG.warn("Cannot filter injected score for url " + url +
+                       ", using default (" + e.getMessage() + ")");
+            }
+            datum.setScore(scoreInjected);
           }
-          datum.setScore(scoreInjected);
+          output.collect(value, datum);
         }
-        output.collect(value, datum);
       }
     }
   }
