我正在开发一个可帮助我登录网站并查看所需数据的应用程序。尽管我可以毫无疑问地解析这些数据并正确使用它们,但在登录网站时确实遇到了问题。我尝试发送POST请求,但是由于某些原因并没有真正起作用,因此我开始更仔细地研究如何在浏览器中发送对该网站的POST请求,这就是我得到的: Picture
我还问了一个开发该网站的人,他说我应该使用两个带有“ ulogin”和“ upassword”的cookie进行登录。我尝试使用JSOUP,如下所示:https://jsoup.org/cookbook/input/load-document-from-url >
我使用了.cookies(“ upassword”,“ 10101010”),但是它没有用,所以让我觉得它不仅仅是在发帖后写一条简单的代码而已。
请,有人可以向我解释我如何使用Cookie登录网站,或者至少将我的学习方向指向我,因为我已经非常接近实现该应用程序了,我将能够继续进一步发展,但这只是我真正坚持的这一步。
这是Firefox中带有响应和请求标头的其他图片。 Picture
答案 0 :(得分:0)
我设法使它工作了很长时间,但没有发布答案。所以,我们开始。
Cookie只是简单的Header,因此您应将其视为此类。以我为例,使用HttpURLConnection,下面是一段工作代码:
注意:我最初的请求是Java,但是,此后我转移到Kotlin,因此此解决方案使用Kotlin,并且此功能是“挂起”功能,这意味着它设计用于Kotlin Couroutines。 >
suspend fun httpRequest(): String {
val conn: HttpURLConnection = url_profile.openConnection() as HttpURLConnection
conn.requestMethod = "POST"
conn.doOutput = true
conn.doInput = true
conn.setRequestProperty(
"Cookie",
"YOUR COOKIE DATA"
)
val input: BufferedReader = BufferedReader(InputStreamReader(conn.inputStream))
return input.readText()
}