你能帮我用JSoup登录aspx网站吗?
我的代码;
package jsouplogin;
import java.io.IOException;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class JSoupLogin {
public static void main(String[] args) throws IOException {
Connection.Response loginForm = Jsoup
.connect("http://login.cu.edu.tr/Login.aspx?ReturnUrl=%2f")
.method(Connection.Method.GET).execute();
String userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36";
Document doc = loginForm.parse();
String VIEWSTATEvalue = doc.select("input[name=__VIEWSTATE").attr("value");
String EVENTTARGETvalue = doc.select("input[name=__EVENTTARGET").attr("value");
String EVENTVARGUMENTvalue = doc.select("input[name=__EVENTARGUMENT").attr("value");
String EVENTVALIDATIONvalue = doc.select("input[name=__EVENTVALIDATION").attr("value");
String VIEWSTATEGENERATORvalue = doc.select("input[name=__VIEWSTATEGENERATOR").attr("value");
doc = Jsoup.connect("http://login.cu.edu.tr/default.aspx")
.referrer("http://www.google.com")
.userAgent(userAgent)
.data("__EVENTTARGET", EVENTTARGETvalue)
.data("__EVENTARGUMENT", EVENTVARGUMENTvalue)
.data("__VIEWSTATE", VIEWSTATEvalue)
.data("__VIEWSTATEGENERATOR", VIEWSTATEGENERATORvalue)
.data("__EVENTVALIDATION", EVENTVALIDATIONvalue)
.data("ctl06$txtKullaniciAdi", "myuserid").data("ctl06$txtSifre", "mypassword")
.cookies(loginForm.cookies()).post();
System.out.println(doc);
}
}
它不是登录网站。我的代码将在运行后加载登录表单。
抱歉,我的英语非常糟糕。
网页来源:view-source:http://login.cu.edu.tr/Login.aspx?ReturnUrl=%2f
答案 0 :(得分:0)
注意:我现在手头没有Java编译器,所以我只是通过查看你的代码来回答。
对我来说,似乎css选择器的字符串定义是错误的。尝试改变
String VIEWSTATEvalue = doc.select("input[name=__VIEWSTATE").attr("value");
到
String VIEWSTATEvalue = doc.select("input[name=__VIEWSTATE]").attr("value");
^
字符串定义中缺少右括号。对其他字符串也进行此更改。
但我不确定这是否能真正解决您的问题。