0

HttpClient を使用してローカルの Solr サーバーにクエリを実行しようとしていますが、パラメーターがGET呼び出しに追加されない理由がわかりません。

これを行うための私のコードは次のとおりです。

HttpRequestBase request = new HttpGet("http://localhost:8080/solr/select");

HttpParams params = new BasicHttpParams();
params.setParameter("q", query);
params.setParameter("start", String.valueOf(start));
params.setParameter("rows", String.valueOf(rows));

request.setParams(params);

HttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);

HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();

return stringToStreamConversion(is); //500 error, NullPointerException, response is empty

私は何が得られるかを見て、問題がどこにあるのかを理解しようとすることを期待して、いくつかのものを返品しようとしました. http://localhost:8080/solr/select戻ってきたときだけ戻ってきただけだとようやく気づきました

return request.getURI().toURL().toString();

パラメータが追加されない理由がわかりません。私が行った場合

return request.getQuery();

何も返ってきません...何かアイデアはありますか?事前に助けてくれてありがとう!

4

2 に答える 2

0

私が見た限りでは、あなたは自分の賛美歌をその要求に関連付けることができません。

では、新しい HttpParams オブジェクトを作成してリクエストに関連付ける代わりに、次のアプローチを試すことができますか?

httpCclient.getParams().setParameter("q", query"); ....

于 2012-07-10T02:03:17.303 に答える
0

より簡単なオプションは、次のようにHTTPPostSchedulerで使用したアプローチを使用することです。

URL url = new URL(completeUrl);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();

conn.setRequestMethod("POST");
conn.setRequestProperty("type", "submit");
conn.setDoOutput(true);

// Send HTTP POST
conn.connect();
于 2012-07-10T07:02:09.687 に答える