Использование файлов cookie Chrome для Invoke-WebRequest в Powershell - PullRequest
0 голосов
/ 23 декабря 2018

Есть ли способ использовать уже полученные файлы cookie из существующего веб-сеанса Chrome в Powershell для SessionVariable?

Я знаю поля для SessionVariable:

Headers               : {}
Cookies               : System.Net.CookieContainer
UseDefaultCredentials : False
Credentials           : 
Certificates          : 
UserAgent             : Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) 
                        WindowsPowerShell/5.1.17134.407
Proxy                 : 
MaximumRedirection    : -1

Могу ли ясделать что-то, чтобы установить эти значения изначально для веб-запроса, например:Нужны ли мне конкретные заголовки для сеанса, когда это может быть несколько / разные типы запросов?

$ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
    $Params = @{
        Headers = $headers 
        Cookies = $cookies 
        UseDefaultCredentials = "False" 
        Credentials = $creds
        UserAgent = $ua
        Proxy = ""
        MaximumRedirection = "-1"
    }

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

$webrequest = Invoke-WebRequest -Uri $url -SessionVariable websession 
$cookies = $websession.Cookies.GetCookies($url) 

# Here, you can output all of $cookies, or you can go through them one by one. 

foreach ($cookie in $cookies) { 
     # You can get cookie specifics, or just use $cookie 
     # This gets each cookie's name and value 
     Write-Host "$($cookie.name) = $($cookie.value)" 
}

У меня есть экспорт файлов cookie в формате JSON с любого сайта в этом формате, но я также могу сократить его до "name "=" value ", если это то, что нужно.

[
  {
    "domain": "",
    "expirationDate": "",
    "hostOnly": "",
    "httpOnly": "",
    "name": "",
    "path": "",
    "sameSite": "",
    "secure": "",
    "session": "",
    "storeId": "",
    "value": "",
    "id": ""
  },
  {
    "domain": "",
    etc...
  }
]

Я не знал, как обозначить каждый раздел как $ cookie в $ cookies, или как добавить их по-другому, так какэто будет не URL / WebRequest, а JSON.

Спасибо за любую помощь!

...