为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Jsoup 登录时如何处理 Input 标签中缺少 name 属性?

使用 Jsoup 登录时如何处理 Input 标签中缺少 name 属性?

尚方宝剑之说 2022-10-08 10:26:02
这就是我想要做的,但我不知道如何将登录按钮添加到 formData hashMap private fun getData() {    Log.d(TAG, "getLoginPage: ")    try {        val loginFormResponse=Jsoup.connect(getString(R.string.loginUrl))            .method(Connection.Method.GET)            .userAgent("Mozilla")            .execute()      val document=loginFormResponse.parse()        val cookies: HashMap<String, String> = HashMap(loginFormResponse.cookies())        Log.d(TAG, "getData: ------------------------------${cookies["__RequestVerificationToken"]}")        val authToken:String=cookies["__RequestVerificationToken"]!!        val formData: HashMap<String, String> = HashMap()        formData["utf8"] = "e2 9c 93";        formData["Email"] ="teacher@gmail.com"        formData["Password"] ="tttt"        formData["__RequestVerificationToken"] = authToken        //Missing login button here        val homePage = Jsoup.connect(getString(R.string.loginUrl))            .cookies(cookies)            .data(formData)            .method(Connection.Method.POST)            .userAgent("Mozilla")            .execute()        Log.d(TAG, "getData: ---------------------------------------$homePage")    }    catch (E:IOException){        Log.d(TAG, "getLoginPage: ----IO EXCEPTION----${E.message}")    }}这是我正在尝试使用的网站 请帮助!
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

authTokencookies

val authToken:String=cookies["__RequestVerificationToken"]!!

但是您应该从中获取它inputform因为还有另一个具有不同值的隐藏输入。
所以试试这个:

val authToken:String = document.select("input[name=__RequestVerificationToken]").first().attr("value")

而且您不必将按钮添加到提交的数据中。


查看完整回答
反对 回复 2022-10-08
  • 1 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信