6.1 Trình quản lý cookie
Như bạn đã biết, máy chủ http có thể gửi cookie cùng với phản hồi và bạn sẽ cần phải làm việc với chúng. Hoặc ngược lại, máy chủ http đang đợi máy khách gửi Cookie cho nó và bạn cần thêm chúng vào yêu cầu http của mình. Tất nhiên, bạn có thể thực hiện việc này trực tiếp thông qua các tiêu đề (trình xử lý), nhưng HttpClient cung cấp cho bạn một cơ chế thuận tiện hơn - tệp CookieHandler
. Bạn có thể lấy nó bằng cách sử dụng tệp cookieHandler()
. Ví dụ:
HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();
CookieHandler là một lớp trừu tượng, do đó, việc triển khai CookieManager của nó là phổ biến. Đến lượt nó, chỉ có một vài phương thức mà qua đó bạn có thể lấy đối tượng CookieStore. Bạn có thể làm việc với nó trong tương lai:
HttpClient client = HttpClient.newBuilder( URI.create("https://codegym.cc")).build();
CookieHandler handler = client.cookieHandler();
CookieManager manager = (CookieManager) handler;
CookieStore store = manager.getCookieStore();
CookieStore là một giao diện có các phương thức sau:
add()
get()
getCookies()
remove()
removeAll()
Tôi sẽ không xem xét chúng một cách chi tiết, chúng tôi đã trình bày chi tiết về HttpClient. Nếu đột nhiên bạn thực sự cần nó, thì bạn có thể tìm thấy tài liệu về lớp CookieManager tại các liên kết: