我正在尝试获取以表格形式显示的CSRF令牌的值。 但是,相反,我得到的是php echo代码,当它应该是'88569a2d60e4e7'
我在chrome上使用了检查元素工具,在那里可以看到生成的令牌。但是,JSoup并非如此。
Connection.Response res1 = Jsoup.connect("http://lms.uaf.edu.pk/login/index.php").method(Connection.Method.GET).execute();
Document welcomePage = res1.parse();
Map welcomCookies = res1.cookies();
// Here I'm trying to access 'name' and 'value' of token
Element inputHidden = welcomePage.getElementById("token");
String securityTokenKey = inputHidden.attr("name");
String securityTokenValue = inputHidden.attr("value");
// Logging the value of token but getting php echo code, instead of token value
Log.d("myTag", securityTokenValue.toString());
这是我得到的输出:
答案 0 :(得分:0)
是什么使您决定在html中具有ID ='token'的元素?
检查页面的源将显示它包含<input type="hidden" name="logintoken" value="vN8mavyjqEsJimM0ffx7ulLARg2A17vI">
。
要获取该元素,可以使用以下代码:
Elements inputHidden = welcomePage.getElementsByAttributeValueContaining("name", "token");
for (Element e : inputHidden) {
String securityTokenKey = inputHidden.attr("name");
String securityTokenValue = inputHidden.attr("value");
System.out.println(securityTokenKey + "=" + securityTokenValue);
}
该值将被打印两次,因为该页面将上述元素连续两次。