Index: src/java/org/apache/nutch/indexer/solr/SolrWriter.java
===================================================================
--- src/java/org/apache/nutch/indexer/solr/SolrWriter.java	(revision 1095400)
+++ src/java/org/apache/nutch/indexer/solr/SolrWriter.java	(working copy)
@@ -30,8 +30,19 @@
 import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
 import org.apache.solr.common.SolrInputDocument;
 
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.auth.AuthScope;
+import org.apache.commons.httpclient.UsernamePasswordCredentials;
+import org.apache.commons.httpclient.params.HttpClientParams;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+
 public class SolrWriter implements NutchIndexWriter {
 
+  public static Log LOG = LogFactory.getLog(SolrWriter.class);
+
   private SolrServer solr;
   private SolrMappingReader solrMapping;
 
@@ -40,8 +51,23 @@
 
   private int commitSize;
 
+  HttpClient client=new HttpClient();
+  AuthScope scope = new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM, AuthScope.ANY_SCHEME);
+
   public void open(JobConf job, String name) throws IOException {
-    solr = new CommonsHttpSolrServer(job.get(SolrConstants.SERVER_URL));
+
+// Temp hack for NUTCH-987
+    HttpClient client=new HttpClient();
+    AuthScope scope = new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM, AuthScope.ANY_SCHEME);
+
+    client.getState().setProxyCredentials(scope, new UsernamePasswordCredentials("username", "password"));
+
+    HttpClientParams params = client.getParams();
+    params.setAuthenticationPreemptive(true);
+    client.setParams(params);
+// end stuff
+
+    solr = new CommonsHttpSolrServer(job.get(SolrConstants.SERVER_URL), client);
     commitSize = job.getInt(SolrConstants.COMMIT_SIZE, 1000);
     solrMapping = SolrMappingReader.getInstance(job);
   }
@@ -57,6 +83,7 @@
         }
       }
     }
+
     inputDoc.setDocumentBoost(doc.getWeight());
     inputDocs.add(inputDoc);
     if (inputDocs.size() > commitSize) {
Index: src/java/org/apache/nutch/indexer/solr/SolrIndexer.java
===================================================================
--- src/java/org/apache/nutch/indexer/solr/SolrIndexer.java	(revision 1095400)
+++ src/java/org/apache/nutch/indexer/solr/SolrIndexer.java	(working copy)
@@ -44,6 +44,12 @@
 import java.util.List;
 import java.util.Random;
 
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.auth.AuthScope;
+import org.apache.commons.httpclient.UsernamePasswordCredentials;
+import org.apache.commons.httpclient.params.HttpClientParams;
+
 public class SolrIndexer extends Configured implements Tool {
 
   public static Log LOG = LogFactory.getLog(SolrIndexer.class);
@@ -79,8 +85,20 @@
     FileOutputFormat.setOutputPath(job, tmp);
     try {
       JobClient.runJob(job);
+
+// Temp hack for NUTCH-987
+    HttpClient client=new HttpClient();
+    AuthScope scope = new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM, AuthScope.ANY_SCHEME);
+
+    client.getState().setProxyCredentials(scope, new UsernamePasswordCredentials("username", "password"));
+
+    HttpClientParams params = client.getParams();
+    params.setAuthenticationPreemptive(true);
+    client.setParams(params);
+// end stuff
+
       // do the commits once and for all the reducers in one go
-      SolrServer solr =  new CommonsHttpSolrServer(solrUrl);
+      SolrServer solr =  new CommonsHttpSolrServer(solrUrl, client);
       solr.commit();
       long end = System.currentTimeMillis();
       LOG.info("SolrIndexer: finished at " + sdf.format(end) + ", elapsed: " + TimingUtil.elapsedTime(start, end));
