簡體   English   中英

發出 HTTP 請求並使用 cookies

[英]Making HTTP request and using cookies

我正在開發一個應用程序,它可以幫助我登錄網站並查看我需要的數據。 雖然我在確保解析該數據並正確使用它方面沒有任何問題,但我確實在登錄網站時遇到了問題。 我嘗試發送 POST 請求,但由於某種原因並沒有真正起作用,所以我開始更仔細地研究如何在瀏覽器中發送對該網站的 POST 請求,這就是我得到的:圖片

我還問了一個開發該網站的人,他說我應該使用兩個帶有“ulogin”和“uppassword”的 cookies 進行登錄。我嘗試使用 JSOUP,如下所示: https://jsoup.org/cookbook/輸入/從 URL 加載文檔

我使用了.cookies("uppassword", "10101010"),但它沒有用,所以這讓我覺得它不僅僅是寫一個簡單的帖子請求。

拜托,有人可以向我解釋如何使用 cookies 登錄網站或至少指出我可以學習的方向,因為我非常接近實現該應用程序,我將能夠進一步進行發展,但這只是我真正被困住的一步。

這是來自 Firefox 的帶有響應和請求標頭的附加圖片。 圖片

我設法讓它工作了很長時間,但沒有發布答案。 所以,這里我們 go。

Cookies 只是簡單的標頭,因此您應該這樣對待它們。 就我而言,使用 HttpURLConnection,這是一段工作代碼:

Note: My original request is for Java, however, I have since moved to Kotlin, so this solution uses Kotlin and this function is a "suspend" function which means that it is designed to be used with 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()
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM