- - PR -
HTTPClient での Cookie 取得について
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-05-22 23:29
HTTPClient というGNUのHTTPクライアントライブラリを使用しているのですが、
null:HTTP/1.0 200 OK Server:Microsoft-IIS/2.0 Date:Wed, 22 May 2002 11:26:30 GMT Set-Cookie:Save=::; Expires=Sat, 31-Dec-2010 00:00:00 GMT; Set-Cookie:User=49; Discard; Content-Type:text/html というHTTPヘッダを返すページにアクセスすると java.net.ProtocolException: Bad Set-Cookie header: Save=::; Expires=Sat, 31-Dec- 2010 00:00:00 GMT;, User=49; Discard; No '=' found for token starting at position 58 at HTTPClient.Cookie.parse(Cookie.java:181) at HTTPClient.CookieModule.handleCookie(CookieModule.java:442) at HTTPClient.CookieModule.responsePhase1Handler(CookieModule.java:391) at HTTPClient.HTTPResponse.handleResponse(HTTPResponse.java:623) at HTTPClient.HTTPResponse.getData(HTTPResponse.java:473) at PostTest3.main(PostTest3.java:33) というエラーを返します。これはサーバ側の Set-Cookie の問題でしょうか?HTTPClientの問題でしょうか? 初心者な者でご助力をお願いします。 |
|
投稿日時: 2002-05-22 23:49
Exception そのままなんすが。
Set-Cookie:User=49; Discard; に対して No '=' found for token starting at position 58 でしょ。「Discard」つのが癌。 見てないですが、HTTP/1.0プロトコルで Set-Cookie に対して「Discard」てのが 特殊な扱いをすべきなのであれば、HTTPClient のバグですし、 そうでないなら、「Discard」が悪い。 |
|
投稿日時: 2002-05-23 00:29
しょむ さん、返答ありがとうございます。
確かにそのままですね。難しく考えてました。 なるほど、ヒント助かります。 調べてみましたが、Discard は Set-Cookie2 を使わないとだめなようで、 HTTPClient が Discard を Cookie の Name として処理しているみたいですね。 HTTP/1.0 で正しいのかどうかは、まだ理解が追いついていませんが、 いずれにせよ、サーバ側(のプログラム)が悪い ということですね。 一つ賢くなりました。ありがとうございます。 |
1
