首先,获取 cookies

首先,获取 cookies

我正在编写一个 powershell 脚本来模拟登录过程,然后从网页中捕获数据。一开始我失败了,设置了 cookies 后根本无法进入登录页面。

这是我写的脚本:

首先,获取 cookies

$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession
Get-Content .\cookie.txt  | foreach {


    $line=$_ -split '/' | select -First 1
    $tokens=$line.Split("`t").TrimEnd()
    $c=@{
     name=$tokens[0]
     value=$tokens[1]
     domain=$tokens[2]
    }
     $cookie = New-Object System.Net.Cookie
     $cookie.Name=$c.name
     $cookie.Value=$c.Value
     $cookie.Domain=$c.domain
     $session.Cookies.Add($cookie)
    }

然后,使用 Invoke-RestMethod 从网页捕获数据

$r=Invoke-RestMethod "http://tz.cscec.com/x5/portal/index.w?timestamp=1486704989262" -WebSession $session -UserAgent 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36' 

最后,输出所有捕获的数据

$r | Out-File "F:\tz.data\$page.html"

以下是cookie.txt的内容:

JSESSIONID  XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.tomcat1   tz.cscec.com    /x5 Wed Feb 07 2018 14:47:48 GMT+0800 (中国标准时间)              
justep-remember true    tz.cscec.com    /   Tue Feb 14 2017 10:22:03 GMT+0800 (中国标准时间)              
justep-username anyone  tz.cscec.com    /   Tue Feb 14 2017 14:47:39 GMT+0800 (中国标准时间)              
request-use-base64  false   tz.cscec.com    /   Wed Feb 07 2018 14:47:48 GMT+0800 (中国标准时间)              
yunsuo_session_verify   SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS    .cscec.com  /   Mon Dec 27 2021 02:58:58 GMT+0800 (中国标准时间)

我的输出文件是登录前的页面。看起来 cookie 部分不起作用。有人可以看看我的代码并给我一些建议吗?

答案1

我自己来回答我的问题...问题是 cookie 文件,JSESSIONID 将在 24 小时后过期。刷新 cookie 文件后,我登录网站。

相关内容