Значение свойства Invoke-WebRequest Links начинается с about: // - PullRequest
2 голосов
/ 07 июня 2019

Я работаю над SCCM Application Packager рецептом для автоматизации загрузки, упаковки и развертывания JetBrains Toolbox . Я пытаюсь использовать командлет Invoke-WebRequest, чтобы назначить значение href, где внешний текст представляет собой «прямую ссылку», для переменной с именем $ LinkPath

$LinkPath = ((Invoke-WebRequest https://www.jetbrains.com/toolbox/download/download-thanks.html?platform=windows) | Select-Object -ExpandProperty Links | Where-Object -Property outerText -eq "direct link").href

Это продолжает возвращать URL:

о: //data.services.jetbrains.com/products/download код = ALL & платформенных = окна

При просмотре возвращенного объекта я вижу тот же URL:

innerHTML                  : direct link
innerText                  : direct link
outerHTML                  : <A id=download-link href="about://data.services.jetbrains.com/products/download?code=ALL&a
                             mp;platform=windows" data-release-download-link="">direct link</A>
outerText                  : direct link
tagName                    : A
id                         : download-link
href                       : about://data.services.jetbrains.com/products/download?code=ALL&amp;platform=windows
data-release-download-link :

Как назначить URL-адрес установщика, который автоматически загружается при нажатии на эту страницу, или URL-адрес, который вы получаете при проверке свойств ссылки "прямая ссылка" в браузере (в настоящее время https://download.jetbrains.com/toolbox/jetbrains-toolbox-1.14.5179.exe) в переменную $ LinkPath вместо: //data.services.jetbrains.com/products/download? code = ALL & platform = windows?

1 Ответ

0 голосов
/ 07 июня 2019

Я нашел шоколадный проект, который делает это немного по-другому.Здесь используются данные Json для определения версии:

https://data.services.jetbrains.com/products/releases?code=TBA&latest=true&type=release

Я использовал ConvertFrom-Json, чтобы получить текущий URL для загрузки со страницы выше:

$releases = 'https://data.services.jetbrains.com/products/releases?code=TBA&latest=true&type=release'
$json = Invoke-WebRequest $releases | ConvertFrom-Json
$LinkPath = $json.TBA.downloads.windows.link
...