1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 package org.apache.hc.client5.http.examples;
28
29 import java.net.URI;
30 import java.util.List;
31
32 import org.apache.hc.client5.http.classic.methods.HttpGet;
33 import org.apache.hc.client5.http.cookie.BasicCookieStore;
34 import org.apache.hc.client5.http.cookie.Cookie;
35 import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
36 import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
37 import org.apache.hc.client5.http.impl.classic.HttpClients;
38 import org.apache.hc.core5.http.ClassicHttpRequest;
39 import org.apache.hc.core5.http.HttpEntity;
40 import org.apache.hc.core5.http.io.entity.EntityUtils;
41 import org.apache.hc.core5.http.io.support.ClassicRequestBuilder;
42
43
44
45
46
47 public class ClientFormLogin {
48
49 public static void main(final String[] args) throws Exception {
50 final BasicCookieStore cookieStore = new BasicCookieStore();
51 try (final CloseableHttpClient httpclient = HttpClients.custom()
52 .setDefaultCookieStore(cookieStore)
53 .build()) {
54 final HttpGet httpget = new HttpGet("https://someportal/");
55 try (final CloseableHttpResponse response1 = httpclient.execute(httpget)) {
56 final HttpEntity entity = response1.getEntity();
57
58 System.out.println("Login form get: " + response1.getCode() + " " + response1.getReasonPhrase());
59 EntityUtils.consume(entity);
60
61 System.out.println("Initial set of cookies:");
62 final List<Cookie> cookies = cookieStore.getCookies();
63 if (cookies.isEmpty()) {
64 System.out.println("None");
65 } else {
66 for (int i = 0; i < cookies.size(); i++) {
67 System.out.println("- " + cookies.get(i));
68 }
69 }
70 }
71
72 final ClassicHttpRequest login = ClassicRequestBuilder.post()
73 .setUri(new URI("https://someportal/"))
74 .addParameter("IDToken1", "username")
75 .addParameter("IDToken2", "password")
76 .build();
77 try (final CloseableHttpResponse response2 = httpclient.execute(login)) {
78 final HttpEntity entity = response2.getEntity();
79
80 System.out.println("Login form get: " + response2.getCode() + " " + response2.getReasonPhrase());
81 EntityUtils.consume(entity);
82
83 System.out.println("Post logon cookies:");
84 final List<Cookie> cookies = cookieStore.getCookies();
85 if (cookies.isEmpty()) {
86 System.out.println("None");
87 } else {
88 for (int i = 0; i < cookies.size(); i++) {
89 System.out.println("- " + cookies.get(i));
90 }
91 }
92 }
93 }
94 }
95 }