-
Notifications
You must be signed in to change notification settings - Fork 0
/
gsaLogin.java
99 lines (87 loc) · 4.31 KB
/
gsaLogin.java
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/*
* gsaLogin.java
*
* Created on April 30, 2009, 12:34 AM
*
* Created by Aswath
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.cookie.CookieSpec;
import org.apache.commons.httpclient.methods.*;
public class gsaLogin {
static final String LOGON_SITE = "ipAddress";//Enter ip address of the GSA
static final int LOGON_PORT = portNo;//Enter port number of the GSA
public gsaLogin() {
super();
}
public static void main(String[] args) throws Exception {
try {
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT, "http");
client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
// See if we got any cookies
CookieSpec cookiespec = CookiePolicy.getDefaultSpec();
Cookie[] initcookies = cookiespec.match(
LOGON_SITE, LOGON_PORT, "/", false, client.getState().getCookies());
System.out.println("Initial set of cookies:");
if (initcookies.length == 0) {
System.out.println("None");
} else {
for (int i = 0; i < initcookies.length; i++) {
System.out.println("- " + initcookies[i].toString());
}
}
PostMethod authpost = new PostMethod("/EnterpriseController");
// Prepare login parameters
NameValuePair action = new NameValuePair("action", "/EnterpriseController");
NameValuePair actionType = new NameValuePair("actionType", "authenticateUser");
NameValuePair userid = new NameValuePair("userName", "UserName");//Enter username of the GSA
NameValuePair password = new NameValuePair("password", "Password");//Enter password of the GSA
authpost.setRequestBody(
new NameValuePair[]{action, actionType, userid, password});
client.executeMethod(authpost);
System.out.println("StatusLine: " + authpost.getStatusLine().toString());
System.out.println("URI: " + authpost.getURI() + ":---" + authpost.getParams());
System.out.println("Body: " + authpost.getResponseBodyAsString());
System.out.println("Body: " + authpost.getResponseBody().toString());
// release any connection resources used by the method
authpost.releaseConnection();
Cookie[] logoncookies = cookiespec.match(
LOGON_SITE, LOGON_PORT, "/", false, client.getState().getCookies());
System.out.println("Logon cookies:");
if (logoncookies.length == 0) {
System.out.println("None");
} else {
for (int i = 0; i < logoncookies.length; i++) {
System.out.println("- " + logoncookies[i].toString());
}
}
int statuscode = authpost.getStatusCode();
if ((statuscode == HttpStatus.SC_MOVED_TEMPORARILY) ||
(statuscode == HttpStatus.SC_MOVED_PERMANENTLY) ||
(statuscode == HttpStatus.SC_SEE_OTHER) ||
(statuscode == HttpStatus.SC_TEMPORARY_REDIRECT)) {
Header header = authpost.getResponseHeader("location");
if (header != null) {
String newuri = header.getValue();
if ((newuri == null) || (newuri.equals(""))) {
newuri = "/";
}
System.out.println("Redirect target: " + newuri);
GetMethod redirect = new GetMethod(newuri);
client.executeMethod(redirect);
System.out.println("Redirect: " + redirect.getStatusLine().toString());
} else {
System.out.println("Invalid redirect");
System.exit(1);
}
}
} catch (Exception e) {
System.out.println("Exception : " + e);
}
}
}