Показать полную графическую версию : [решено] Получить списки отзыва
overbload1
20-05-2015, 14:01
Здравствуйте, есть XML файл
http://e-trust.gosuslugi.ru/CA/DownloadTSL?schemaVersion=0
В нем есть поля
<АдресаСписковОтзыва>
<Адрес>http://www.cap.ru/certsrv/certenroll/uc_mip.crl</Адрес>
<Адрес>http://pki-ra.cap.ru/RA/CDP/DE6FA25112F58BC98F1B9555FAD7D3AA19A75370.crl</Адрес>
</АдресаСписковОтзыва>
Соответственно в них содержатся ссылки на файлы CRL. Можно через командную строку загрузить файлы со всех ссылок заключенных в теги АдресаСписковОтзыва ?
Как вариант на PowerShell:
[xml]$h=(New-Object Net.WebClient).DownloadString("http://e-trust.gosuslugi.ru/CA/DownloadTSL?schemaVersion=0")
$h.SelectNodes("*//Адрес") | Where {$_."#text" -match "crl"} | Sort {$_."#text"} -Unique | Foreach {
$name = $_.split("/")[-1]
Invoke-WebRequest $_ -OutFile "D:\CRL\$Name" -Verbose
}
Попробуйте так (PowerShell):
$sDestFolder = 'C:\Песочница\070'
$oWebClient = New-Object -TypeName System.Net.WebClient
Select-Xml -Path 'C:\Песочница\066\TSLExt.1.0.xml' -XPath '//АдресаСписковОтзыва/Адрес' |`
ForEach-Object -Process {
[System.Uri]($_.Node.'#text') | ForEach-Object -Process {
Write-Host $_.AbsoluteUri
$oWebClient.DownloadFile($_.AbsoluteUri, (Join-Path -Path $sDestFolder -ChildPath $_.Segments[-1]))
}
}
overbload1
20-05-2015, 17:13
Спасибо ребят я смог запустить скрипт Iska, спасибо тебе большое. Скрипт Kazun выдавал ошибку, но так как я с PowerShell дело не имел, скорее всего я что то не так сделал. Спасибо ребят)
Скрипт Kazun выдавал ошибку, но так как я с PowerShell дело не имел, скорее всего я что то не так сделал. »
Возможно, у Вас старая версия PowerShell, в которой ещё нет «Invoke-WebRequest».
А так, по-хорошему, действительно надо и «.DownloadString()», и «Where {$_."#text" -match "crl"}» (только усугубить маску), и на всякий случай отбирать уникальные по «Sort -Unique».
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.