특정 쿠키가 언제 설정되는지 알아 내려고하고 새로운 값을 기반으로 무언가를 업데이트하려고합니다. 내 자신의 쿠키 정책을 구현하여이 작업을 시도하고있다쿠키를 거부하는 Java CookiePolicy ACCEPT_ORIGINAL_SERVER
내 문제는 HttpCookie.domainMatches 메서드 내에서 처리됩니다.
CookiPolicy.ACCEPT_ORIGINAL_SERVER 정책을 사용하면 여러 쿠키가 거부됩니다.
쿠키의 도메인은 "HostName"입니다 (예 : machineName123). 분명히 무효 도메인입니다.
도메인을 서버 측에서 명시 적으로 설정해야합니까? 예를 들어 내가의 InetAddress를 사용하여 CanonicalHostName을 얻는 경우에, 난 그냥 IP 주소를 얻을 수
...
:
CookieHandler.setDefault(new CookieManager(null, new CookiePolicy() {
@Override
public boolean shouldAccept(java.net.URI uri, final java.net.HttpCookie cookie) {
if(CookiePolicy.ACCEPT_ORIGINAL_SERVER.shouldAccept(uri, cookie)) {
//custom code here
}
System.out.println("Accepting cookie uri Host: " + uri.getHost() + " name:" + cookie.getName() + " value: " + cookie.getValue() + " domain: " + cookie.getDomain() + " path: " + cookie.getPath());
System.out.println("Domain matches uri: " + HttpCookie.domainMatches(cookie.getDomain(), uri.getHost()));
return true;
}
System.out.println("Rejecting cookie uri Host: " + uri.getHost() + " name:" + cookie.getName() + " value: " + cookie.getValue() + " domain: " + cookie.getDomain() + " path: " + cookie.getPath());
System.out.println("Domain matches uri: " + HttpCookie.domainMatches(cookie.getDomain(), uri.getHost()));
return false;
};
}));
특정 쿠키가 설정됩니다시기를 결정하는 또 다른 방법이 있나요? (여러 연결에서 발생할 수 있음) 또는 다른 방법으로 호스트 이름을 확인합니까?
감사합니다.
불행히도, 모든 쿠키를 수락해야합니다. ORIGINAL_SERVER 정책을 사용하고 몇 가지 특별 규칙을 사용하여 "올바른"도메인이 아닌 컴퓨터 이름을 식별했습니다. – user1649803