2010-12-22 5 views
1

Ich habe ein Cookie-String von HTTP-Response-Header, wie die folgende Zeile bekam:Java, How to Instance HttpCookie von einem String, irgendwelche bequemen Möglichkeiten?

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

ich die obige Zeile, um Schlüssel-Wert-Paare analysieren kann, und es ist auch einfach, den Namen und den Wert Http Instanz festgelegt als dieses Paar kommt das erste.

Aber wie legt man die anderen Paare fest, da ich nicht weiß, welche Set-Methode dem Namen des nächsten Name-Wert-Paares entspricht. Durchsuche alle möglichen Schlüssel, die ein Cookie enthalten kann, und rufe die Matched-Set-Methode auf, wie unten gezeigt.

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

Das ist dumm, irgendwelche bequemen Möglichkeiten? Vielen Dank im Voraus.

Antwort

4

HttpCookie bietet eine Parse (...) -Methode, die die Arbeit für Sie erledigt. Schau dir die JavaDoc here an. Wenn dies nicht das ist, was Sie wollen, dann sehen Sie sich den Quellcode seiner Methode an.

+0

Dank tun, das ist, was ich will. – user435657

0

Sie ein HashMap<String, String> dann durch den Cookie-String nur iterieren verwenden könnten neue Hash-Einträge hinzugefügt werden, dann, sobald Sie fertig sind, können Sie so etwas wie cookie.setPath(hash.get("path")) und cookie.setDomain(hash.get("domain"))

+0

Vielen Dank. Es scheint, ich bin ein fauler. – user435657