0

我已经编写了下面提到的代码。

HttpSolrServer solrServer = new HttpSolrServer("http://10.40.4.171/solr/prime-core");
List<UserSolr> userList=null;
        SolrQuery q = new SolrQuery();
        q.setQuery("*:*");
        q.setStart(0);
        q.setRows(10);
        //SolrDocumentList results = null;
        try {
            QueryResponse response = solrServer.query(q);
            userList=response.getBeans(UserSolr.class);
        } catch (Exception e) {
            // TODO: handle exception
            System.out.println(e);
        }

但是对于上述情况,我收到以下错误:-

org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: Server at http://10.40.4.171/solr/prime-core returned non ok status:407, message:Proxy Authorization Required

我无法解决这个问题。相同的代码可以正常使用 urlhttp://localhost:8080/solr/prime-core请让我知道如何修改以无错误地连接到服务器。

谢谢。

注意:prime-core 是我的 Solr Core 我正在使用 Solr 4.3

4

1 回答 1

0

HTTP 代码407暗示Proxy Authentication Required,您需要在通过以下方式连接服务器时设置身份验证信息HttpClient

httpclient.getCredentialsProvider().setCredentials(
                    AuthScope.ANY,
                    new UsernamePasswordCredentials(username, password));
solrServer = new HttpSolrServer(solrUrl, httpclient);//with credentials

您可能想查看类似的讨论:

Solr - 使用 Httpclient 实例化 HttpSolrServer

具有基本身份验证的 Solr 4

于 2013-07-29T12:07:03.357 回答