2017-05-12 1 views
1

問題は簡単です。合計のCookieサイズ(バイト単位)を取得する必要があります。私は、HTTPヘッダーを使用してのSet-Cookie要素と呼ばれる:ヘッダーを指定してウェブサイトの合計Cookieサイズを取得する

public static String getCookiesField(URLConnection connection){ 
    return connection.getHeaderField("Set-Cookie"); // it can return null 
} 

私は、フィールドの結果を得る:

dwsid = H-GOhXnQOVZU1SKVvlnOMJOYZq5CNAs9AUYMWArBVV00TnFO3a8VgoaUtl6wpJqgKWkidqt-y1ihDRm9yo3a7g ==;パス= /; HttpOnly

私はそれが何を意味するのかわかりませんが、私はバイト単位でクッキーのサイズを取得する必要があります。

答えて

1

クッキーの文字列にgetBytes()を呼び出します。

あなたは何かクッキーは、mdnあなたを助けることができます。構文は

Set-Cookie: <cookie-name>=<cookie-value>; HttpOnly; Path=<path-value> 
// or 
Set-Cookie: sessionid=38afes7a8; httponly; Path=/ 

getHeaderField方法は、クッキーのString(ヘッダの、クッキーを設定したフィールドの値)を返すように、異なるものをたくさんすることができます。 byte Sの


サイズはmyBytes.length(NO ())によって計算されます。

だから、あなたは、このようにクッキーのサイズを取得することができます:

String setCookieField = connection.getHeaderField("Set-Cookie"); 
// check that cookie is not null 
String[] cookieFields = cookie.split(";"); 
// the cookie name/value pair is typically first 
String[] cookieNameValue = cookieFields[0].split("="); 
String cookie = cookieNameValue[1]; 
int size = cookie.getBytes("UTF-8").length; 
+0

はあなたにそんなに弟をありがとうございました!それは働いている – Hdevoxxed

+0

素晴らしい! :)そして、それがうまくいったら、他の人が後でそれを見つけることができるように、答えを受け入れたものとしてマークしてください。 – Nevermore

+0

完了! Thnkあなたの兄弟 – Hdevoxxed

0

は、ここでは簡単なソリューションです:

String cookie = "dwsid=H-GOhXnQOVZU1SKVvlnOMJOYZq5CNAs9AUYMWArBVV00TnFO3a8VgoaUtl6wpJqgKWkidqt-y1ihDRm9yo3a7g==; path=/; HttpOnly".split(";"); 
bytes b[] = cookie[0].getBytes(); 
return b.length; 
関連する問題