1 |
package dk.thoerup.spejdernetscraper; |
package dk.thoerup.spejdernetscraper; |
2 |
|
|
3 |
|
import java.util.List; |
4 |
import java.util.Map; |
import java.util.Map; |
5 |
import java.util.TreeMap; |
import java.util.TreeMap; |
6 |
|
|
|
import org.jsoup.Connection.Method; |
|
7 |
import org.jsoup.Connection.Response; |
import org.jsoup.Connection.Response; |
8 |
import org.jsoup.Jsoup; |
import org.jsoup.Jsoup; |
9 |
import org.jsoup.nodes.Document; |
import org.jsoup.nodes.Document; |
10 |
import org.jsoup.nodes.Element; |
import org.jsoup.nodes.FormElement; |
11 |
|
|
12 |
import dk.thoerup.genericjavautils.HttpUtil; |
import dk.thoerup.genericjavautils.HttpUtil; |
13 |
|
|
26 |
Response res = Jsoup.connect("http://medlemssystem.spejdernet.dk/login.aspx?ReturnUrl=%2f").execute(); |
Response res = Jsoup.connect("http://medlemssystem.spejdernet.dk/login.aspx?ReturnUrl=%2f").execute(); |
27 |
Map<String, String> cookies = res.cookies(); |
Map<String, String> cookies = res.cookies(); |
28 |
|
|
29 |
Document loginPage = res.parse(); |
Document loginPage = res.parse(); |
30 |
|
|
31 |
Element viewState = loginPage.getElementById("__VIEWSTATE"); |
rb.addString("Got login page"); |
32 |
|
|
33 |
|
|
34 |
|
List<FormElement> forms = loginPage.getElementsByAttributeValue("name", "aspnetForm").forms(); |
35 |
|
FormElement loginForm = forms.get(0); |
36 |
|
|
37 |
rb.addString("Got login page"); |
loginForm.getElementById("ctl00_main_loginForm__txtUserName").attr("value","torbenhoerupnielsen"); |
38 |
|
loginForm.getElementById("ctl00_main_loginForm__txtPassword").attr("value","Pwspejder2013"); |
39 |
|
System.out.println( loginForm.formData() ); |
40 |
|
|
41 |
res = Jsoup |
res = loginForm.submit().execute(); |
42 |
.connect("http://medlemssystem.spejdernet.dk/Login.aspx?changeuser=1") |
//System.out.println( res.body() ); //DEBUG |
|
.data("ctl00$main$loginForm$_txtUserName", "torbenhoerupnielsen", |
|
|
"ctl00$main$loginForm$_txtPassword", "Pwspejder2013", |
|
|
"ctl00$main$loginForm$_buttonLogin", "Login", |
|
|
"__EVENTTARGET", "", |
|
|
"__EVENTARGUMENT", "", |
|
|
"__VIEWSTATE", viewState.attr("value"), |
|
|
"ctl00$ctl04$hiddenTab", "" |
|
|
) |
|
|
.method(Method.POST) |
|
|
.cookies(cookies) |
|
|
.execute(); |
|
43 |
|
|
44 |
rb.addString("Login OK"); |
rb.addString("Login OK"); |
45 |
//This will get you cookies |
//This will get you cookies |
46 |
cookies.putAll( res.cookies() ); |
cookies.putAll( res.cookies() ); |
47 |
//printMap(cookies); |
//printMap(cookies); |
|
|
|
48 |
|
|
49 |
String dataCsvUrl = "http://medlemssystem.spejdernet.dk/csvx.ashx?q=JQBOZXRtZXN0ZXIuS0ZVTS5NZW1iZXIsIE5ldG1lc3Rlci5LRlVNPgB4LlVuaXQuR3JvdXAuSWQgPT0gImd1aWQ6NWMwY2Y2MzgtZGM4Ny00MTNmLTkxYjYtOWM3MzAwYzcwMTM3Ig==&type=Member&view=csv"; |
String dataCsvUrl = "http://medlemssystem.spejdernet.dk/csvx.ashx?q=JQBOZXRtZXN0ZXIuS0ZVTS5NZW1iZXIsIE5ldG1lc3Rlci5LRlVNPgB4LlVuaXQuR3JvdXAuSWQgPT0gImd1aWQ6NWMwY2Y2MzgtZGM4Ny00MTNmLTkxYjYtOWM3MzAwYzcwMTM3Ig==&type=Member&view=csv"; |
50 |
//And this is the easieste way I've found to remain in session |
//And this is the easieste way I've found to remain in session |
96 |
System.out.println( ResultBuffer.getResultBuffer().getString() ); |
System.out.println( ResultBuffer.getResultBuffer().getString() ); |
97 |
} |
} |
98 |
|
|
99 |
|
|
100 |
|
/* |
101 |
|
* |
102 |
|
* Just fore reference, here's the old login method |
103 |
|
res = Jsoup |
104 |
|
.connect("http://medlemssystem.spejdernet.dk/Login.aspx?changeuser=1") |
105 |
|
.data("ctl00$main$loginForm$_txtUserName", "<enter-username-here>", |
106 |
|
"ctl00$main$loginForm$_txtPassword", "<enter-password-here>", |
107 |
|
"ctl00$main$loginForm$_buttonLogin", "Login", |
108 |
|
"__EVENTTARGET", "", |
109 |
|
"__EVENTARGUMENT", "", |
110 |
|
"__VIEWSTATE", viewState.attr("value"), |
111 |
|
"ctl00$ctl04$hiddenTab", "" |
112 |
|
) |
113 |
|
.method(Method.POST) |
114 |
|
.cookies(cookies) |
115 |
|
.execute();*/ |
116 |
|
|
117 |
} |
} |