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

这就是我想要做的,但我不知道如何将登录按钮添加到 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}")

    }

}

这是我正在尝试使用的网站 请帮助!



尚方宝剑之说
浏览 132回答 1
1回答

30秒到达战场

你authToken从cookiesval&nbsp;authToken:String=cookies["__RequestVerificationToken"]!!但是您应该从中获取它input,form因为还有另一个具有不同值的隐藏输入。所以试试这个:val&nbsp;authToken:String&nbsp;=&nbsp;document.select("input[name=__RequestVerificationToken]").first().attr("value")而且您不必将按钮添加到提交的数据中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript