Не удалось использовать powershell для получения файлов cookie

Я пишу сценарий PowerShell для имитации процесса входа в систему, а затем перехватываю данные с веб-страниц. Я потерпел неудачу в самом начале, я вообще не могу попасть на страницы входа после установки файлов cookie.

Вот сценарий, который я написал:

Сначала получите файлы cookie.

$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 не работает.

Вот сценарий, который я написал:

Сначала получите файлы cookie

$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 не работает.

Вот сценарий, который я написал:

Сначала получите файлы cookie

$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 не работает. Может ли кто-нибудь заглянуть в мой код и дать мне какое-нибудь предложение, пожалуйста?

0
задан 10 February 2017 в 07:43
1 ответ

Я сам собираюсь ответить на свой вопрос ... проблема в файле cookie, срок действия JSESSIONID истечет через 24 часа. После обновления файла cookie я вхожу на сайт.

0
ответ дан 24 November 2019 в 04:59

Теги

Похожие вопросы