Войти

Показать полную графическую версию : [решено] Как избавить от этого окна?


nwss
27-12-2022, 13:44
Собственно, вопрос: как избавиться от окна с запросом кук (скриншот)?
Погуглив, пробовал решения с -UseBasicParsing - тогда скрип перестает работать.
Остальные варианты были с реализацией через IE - мне не нравится этот вариант:
Во-первых, его поддержка скоро подходит к концу.
Во-вторых, это намного медленней и затратней по памяти.

Неужели нет более элегантного решения?


$ogrn = $args[0]
$site = 'https://zakupki.gov.ru/'
$end = '&tab=other'
$b = iwr -Uri "https://zakupki.gov.ru/epz/organization/search/results.html?ogrn=$ogrn" -UseBasicParsing
$url = ($b.Links | where { $_.href -like '*organizationId=*' }).href
$full = $site + $url + $end
$a = (Invoke-WebRequest -Uri $full)
($a.AllElements | where { $_.tagName -like 'SPAN' -and $_.innerHTML -like '*@*'}).innerHTML

Foreigner
27-12-2022, 14:49
Ни разу не сталкивался. В качестве предположения, попробовать другой UserAgent?


$userAgent = [Microsoft.PowerShell.Commands.PSUserAgent]::Chrome # FireFox, InternetExplorer, Opera, Safari
Invoke-WebRequest -Uri ..... -UserAgent $userAgent

nwss
27-12-2022, 15:20
Не помогло.

Foreigner
27-12-2022, 17:23
Я попробовал ваш $full, но никаких всплывающих окон не получил. Как повторить такое поведение?

nwss
27-12-2022, 17:39
Ммм я не знаю. Вот другая машина, с другого конца земного шара. Практически из коробки.
Гугл подсказывает, что может дело быть в настройках IE - надо разрешить все куки. Перепробовал все возможные комбинации. Добавлял домен в список доверенных для куки - та же песня.

AAT666
28-12-2022, 10:04
Тоже появлялось окно.

Попробовал вот это Windows 10 Powershell Invoke-WebRequest "Windows Security Warning " (https://stackoverflow.com/questions/31720519/windows-10-powershell-invoke-webrequest-windows-security-warning)

Перестало появляться.

nwss
28-12-2022, 12:55
Спасибо, сработало!


$ogrn = $args[0]
$RegPath = 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3'
# Проверка реестра на автопринятие всех файлов куки, чтобы избежать появления окна с предупреждением
# https://stackoverflow.com/questions/31720519/windows-10-powershell-invoke-webrequest-windows-security-warning
$CV = (Get-ItemProperty -Path $RegPath).'1A10'
if ($CV -eq '0') {
Set-ItemProperty -Path $RegPath -Name '1A10' -Value 0
}
$userAgent = [Microsoft.PowerShell.Commands.PSUserAgent]::Chrome # FireFox, InternetExplorer, Opera, Safari
$site = 'https://zakupki.gov.ru'
$end = '&tab=other'
$b = iwr -Uri "https://zakupki.gov.ru/epz/organization/search/results.html?ogrn=$ogrn" -UserAgent $userAgent
$url = ($b.Links | where { $_.href -like '*organizationId=*' }).href
$full = $site + $url + $end
$a = Invoke-WebRequest -Uri $full -UserAgent $userAgent
($a.AllElements | where { $_.tagName -like 'SPAN' -and $_.innerHTML -like '*@*'}).innerHTML

AAT666
29-12-2022, 06:55
У Вас опечатка - в IF'е.




© OSzone.net 2001-2012