Hỏi cách lấy Cookies trong "Request Headers"

Liên hệ QC

khitamdao

Thành viên chính thức
Tham gia
30/3/17
Bài viết
69
Được thích
14
Mình dùng VBA để lấy cookies của 1 trang web, thẻ "Response Headers" và thẻ "Request Headers" như sau (Trong cả 2 thẻ đều có phần cookies):

Mã:
Response Headers
Cache-Control: no-cache, private
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Set-Cookie: XSRF-TOKEN=eyJpdiI6ImR4dDM0K3FES1JuNlFmQlUwYzdWMXc9PSIsInZhbHVlIjoiY0lmcldqNklvWFpuK0tYZGxGUThiTktpODJzenFvMGdaWW1jWE9iTTFyRlNJQWViNERsOUg1dDgxTGtXMGlNVSIsIm1hYyI6ImJkMmE4NTFiMTJlNGU1MmZlYjZiODUxMjM4MmE0ZGJmOTVlODY0YmQ1OWI0NDFkZTc3Y2JiMzAzNGRhNDE0MzQifQ%3D%3D; expires=Tue, 26-Oct-2021 16:28:47 GMT; Max-Age=7200; path=/
Set-Cookie: he_thong_khai_thac_so_lieu_tu_dong_session=eyJpdiI6IktYc2lFblo3VHU2ZTJvKzIzMUppSEE9PSIsInZhbHVlIjoiMzZHU1NxeUZqb3NpTGsrczEzK1U2Qk91Z1UxV0tvQlwvV2pkeW9yR0RxOVYxUnpBQkxNNzk2OW1KOXkxWGwxc0IiLCJtYWMiOiIzZGJkNDVhNDUwZWIwOTc5ZmZhMTljNzE4NzZiZGMwZmJjNzE0ZTNmY2ZkNWY2NTgxYjNmOTBlNGZhNGJmZDNhIn0%3D; expires=Tue, 26-Oct-2021 16:28:47 GMT; Max-Age=7200; path=/; httponly
Transfer-Encoding: chunked
X-Powered-By: PHP/7.3.18

Request Headers
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: vi,en;q=0.9
Cookie: XSRF-TOKEN=eyJpdiI6IkxCelo0dFcxNEg4N0hGUGl2bDlzeHc9PSIsInZhbHVlIjoiVEtTeEtLR04yOURZNnlcL3BcL3lGXC9vZ3pyamR2aG1EY1hXNXJYUjBMN2M1NXlFZW83bEJxV3VPY1owclZINXRoVCIsIm1hYyI6ImE5MmUwNjcxNmE5NTMwOWUxNzM5ODJiYmU0ODkzMmY0YjM4MjkwODg4OGU1ODdmZDA4Mzc0NGZjMjdkMjU4YzcifQ%3D%3D; he_thong_khai_thac_so_lieu_tu_dong_session=eyJpdiI6IkpGK1FnZHVuZzM0NHc2M3FOUkpPSUE9PSIsInZhbHVlIjoidW1kcVdPMThRUzVZVXhya09IN0FZbHcxWVlndVExNVJRYk5ab0JCUFJDMEJVWFVmM3crVlZlVUtvdEIzUGdCSiIsIm1hYyI6IjA0ZDFkODkxYTMxOTFjOTVjZTRiMjkwZTNkM2I3ZmE4ODUzMWNkMDdlYzgxODVmYjM1ZThkOGQ2ZDhhZmM1MmEifQ%3D%3D

Mình viết hàm sau để lấy cookies, nhưng chỉ lấy được cookies trong thẻ "Response Headers", nhưng mình muốn lấy cookies trong "Request Headers"
Các bác có cách nào để lấy cookies trong "Request Headers" không, chỉ cho mình với :)

Mã:
Function GetCookies(ByVal url As String, ByVal username As String, ByVal password As String) As String
   
    Dim objHTTP As Object
    Dim Json As String
    Dim Jsonresult As Object
    Dim chuoi1 As String
    Dim result As String, Cookies As String
    Dim p0 As Integer, p1 As Integer, temp As String
    Dim respHead As String
   
    'Json = "{""username"":""TenDangNhap"",""password"":""MatKhau""}"
    chuoi1 = Application.WorksheetFunction.Substitute("{""username"":""TenDangNhap"",""password"":""MatKhau""}", "TenDangNhap", username)
    Json = Application.WorksheetFunction.Substitute(chuoi1, "MatKhau", password)
   
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    objHTTP.Open "GET", url, False
   
    objHTTP.setRequestHeader "Content-type", "application/javascript"
    objHTTP.send (Json)
    result = objHTTP.responseText
   
    respHead = objHTTP.getAllResponseHeaders
   
    ' Need to parse the cookie from Respone Headers
    Cookies = ""
    p0 = 1
    Do While InStr(p0, respHead, "Set-Cookie:") > 0
        p0 = InStr(p0, respHead, "Set-Cookie:") + 11
        p1 = InStr(p0, respHead, Chr(10))
        temp = Trim(Mid(respHead, p0, p1 - p0))
        Cookies = Cookies & temp & "; "
    Loop
   
    GetCookies = Left(Cookies, Len(Cookies) - 2)
   
End Function
 
Lần chỉnh sửa cuối:
Đâu nhất thiết lấy cookies. Giữ phiên làm việc của client là được.
 
Upvote 0
Đâu nhất thiết lấy cookies. Giữ phiên làm việc của client là được.
- Có chứ, mình tải số liệu trên trang web, nếu không có cookie sẽ không tải được.
- Mà cookie nó chỉ tồn tại một thời gian ngắn nên không tự động được sẽ rất bất tiện :)
 
Upvote 0
Đã bảo là giữ phiên làm việc sau khi đăng nhập thành công ấy.
 
Upvote 0
Web KT
Back
Top Bottom