سؤال

I have got a cookie string from HTTP response header like the following line:

name=value; path=/; domain=.g.cn; expire=...

I can parse the above line to key-value pairs, and, also it's easy to set the name and value to HttpCookie instance as this pair comes the first.

But how to set the other pairs since I don't know which set-method corresponds to the name of the next name-value pair. Traverse all possible keys a cookie may contian and call the matched set-method, like below snippet?

if (key.equalsIgnoreCase("path"))
 cookie.setPath(value);
else if (key.equalsIgnoreCase("domain"))
 cookie.setDomain(value);

That's foolish, any convenient ways? Thanks in advance.

هل كانت مفيدة؟

المحلول

HttpCookie provides a parse(...) method that does the work for you. Look at the JavaDoc here. If this is not what you want then look at the source code of its method.

نصائح أخرى

You could use a HashMap<String, String> then just iterate through the cookie string adding new hash entries, then, once you're done, you can do something like cookie.setPath(hash.get("path")) and cookie.setDomain(hash.get("domain"))

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top