Cookie
package Ch6;
import java.net.CookieHandler;
import java.net.CookieManager;
import java.net.CookiePolicy;
//默认情况下Cookie并不打开,需要启用Cookie
public class CookieTest {
public static void main(String[] args) {
//创建Cookie管理
CookieManager manager = new CookieManager();
//设置管理策略,自行创建的策略
manager.setCookiePolicy(new NoGovernmentCookies());
//预定义的三种策略
/*manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); 接受所有Cookie
manager.setCookiePolicy(CookiePolicy.ACCEPT_NONE); 不接受所有Cookie
manager.setCookiePolicy(CookiePolicy.ACCEPT_ORIGINAL_SERVER); 只接受第一份Cookie
*/
//将该管理设置为默认管理
CookieHandler.setDefault(manager);
}
}
package Ch6;
import java.net.CookiePolicy;
import java.net.HttpCookie;
import java.net.URI;
//需要覆盖 shouldAccept方法。
public class NoGovernmentCookies implements CookiePolicy {
@Override
public boolean shouldAccept(URI uri, HttpCookie cookie){
if(uri.getAuthority().toLowerCase().endsWith(".gov")){
return false;
}
return true;
}
}
CookieStore
保存Cookie,下次启动应用,可以加载cookie。
//CookieStore类
CookieStore store = manager.getCookieStore();
//封装在HttpCookie对象中。
public void add(URI uri, HttpCookie cookie)
boolean remove(URI uri, HttpCookie cookie)
boolean removeAll()