[解決済み] commons httpclient - GET/POSTリクエストにクエリ文字列パラメータを追加する
2023-05-26 20:23:59
質問
Springサーブレットにhttpコールをするために、commons HttpClientを使用しています。私はクエリ文字列にいくつかのパラメータを追加する必要があります。だから私は次のようにします。
HttpRequestBase request = new HttpGet(url);
HttpParams params = new BasicHttpParams();
params.setParameter("key1", "value1");
params.setParameter("key2", "value2");
params.setParameter("key3", "value3");
request.setParams(params);
HttpClient httpClient = new DefaultHttpClient();
httpClient.execute(request);
しかし、サーブレットでパラメータを読み込もうとすると
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest().getParameter("key");
とすると、NULLを返します。実際、parameterMapは完全に空です。HttpGetリクエストを作成する前に手動でパラメータをURLに追加すると、サーブレットでパラメータが利用可能になります。ブラウザからqueryStringを付加したURLを使ってサーブレットを叩くと、同じようになります。
ここでのエラーは何でしょうか?httpclient 3.x では、GetMethod にクエリ文字列を追加するための setQueryString() メソッドがありました。4.xでの同等のものは何ですか?
どのように解決するのですか?
HttpClient 4.2以降でクエリ文字列パラメータを追加する方法を説明します。
URIBuilder builder = new URIBuilder("http://example.com/");
builder.setParameter("parts", "all").setParameter("action", "finish");
HttpPost post = new HttpPost(builder.build());
結果のURIは次のようになります。
http://example.com/?parts=all&action=finish
関連
-
java.sql.SQLException: executeQuery()でデータ操作文を発行できません。
-
Javaでよくある構文エラー
-
が 'X-Frame-Options' を 'sameorigin' に設定したため、フレーム内に存在する。
-
ジャバアレイ
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
アノテーション「@Retention」の役割
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] クエリ文字列パラメータのJava URLエンコーディング
-
[解決済み] OutputStreamを文字列に変換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
実行中にEclipseがポップアップする A Java Exception has occurred
-
executeQuery()でデータ操作文が発行できない。解決方法
-
Javaでよくある構文エラー
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
セミコロン期待値エラー解決
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
Javaがテキストファイルを読み込む
-
Server Tomcat v9.0 Server at localhost の起動に失敗しました。
-
Javaがエラーで実行される、選択が起動できない、最近起動したものがない
-
Zipファイルの圧縮・解凍にantを使用する