2

Web サイトにログインするアプリを作成しています ( http://......?password=xyz経由)。これには DefaultHttpClient を使用します。GET 応答とともに、Web サイトは Cookie を送信します。この Cookie は、さらなる POST 要求のために保存したいと考えています。

私の問題は、client.getCookieStore().getCookies()常に Cookie の空のリストを受け取ることです。

http://www.google.com (意図した Web サイトの代わりに)を開くと、Cookie を適切に受け取りますが、使用している Web サイトは別の方法で Cookie を送信しているようです (これは MailMan メーリング リストのモデレートです)。ページ)

Firefox Cookie Manager ではそれぞれの Cookie を確認できますが、Firebug ネットワーク/Cookie パネルでは確認できません (なぜですか?)。ただし、InternetExplorer HttpWatchProfessional は、トラフィックを記録するときに Cookie を表示します....

www.google.com が送信した Cookie とターゲット Web サイトの間には、いくつかの小さな違いがあります。受け取った"。(直前にブラウザ/Cookie キャッシュをクリアしたときに、Google Cookie を送信するにはどうすればよいですか?)

誰かが私に違いを説明できますか?

私のコードは次のとおりです。

DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse execute = client.execute(httpGet);
List<Cookie> cookies = client.getCookieStore().getCookies();
4

1 に答える 1

3

さらに調査した結果、Cookie は受信されたものの、Cookie のパスが呼び出された URL とは異なるため、実際には httpclient によって拒否されたことがわかりました。

https://stackoverflow.com/a/8280340/1083345で解決策を見つけました

于 2012-04-06T22:43:59.210 に答える