web-dev-qa-db-ja.com

2番目のリクエストを実行するとHttpClientがハングする

私はJavaアプリにログインしてWebサイトで買い物をすることができるアプリを書いています。2番目のHttpResponse/Postを実行しようとすると、HttpClientがハングするという問題があります。以前は問題なく動作していましたが、なぜハングアップし始めたのかわかりません。エラーが発生せず、そのまま表示されてスタックします。ハングアップの原因となっている可能性がある唯一の変更は、HttpGetを使用して取得していることです。トークンを使用して、ウェブサイトにログインできます。

ここに私がhttpClientを設定する方法があります

private static BasicCookieStore cookieStore = new BasicCookieStore();
private static HttpClient httpClient = HttpClientBuilder.create().setDefaultCookieStore(cookieStore).build();

残りは標準のhttpget&httppostであり、次にhttpclient.execute();です。

最初のシーケンスは、プログラムがWebサイトにクエリを実行してトークンを取得することです。次に、POSTをトークンとともに送信してサインインします。その後、プログラムがWebサイトに再度クエリを送信して製品情報を取得し、次にカートに追加されますが、2番目のPOSTでハングします。

どこかにフラッシュがありませんか?私はどこかでこのHttpClientの方法が終了することを読んでいました。また、DefaultHttpClientは廃止されました。

24
user3630509

以下に投稿されたチュートリアルでは、post.releaseConnection();を使用する必要があるとは記載されていませんでした。コードがハングアップしたため、POST/GETを実行するたびにreleaseConnection()関数を追加しました。それがコードをクリーンアップする適切な方法であることを願っています。

41
user3630509