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