2015-03-27 1 views
0

У меня есть небольшой скрипт, который возвращает дату истечения срока действия SSL.Powershell Net.HttpWebRequest возвращает «Getresponse с 0 аргументами»

вот код:

[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true} 
$timeoutMilliseconds = 10000 
$req = $null 
$req = [Net.HttpWebRequest]::Create("https://google.com") 
$req.Timeout = $timeoutMilliseconds 
$req.GetResponse(); 
$expiration = $req.ServicePoint.Certificate.GetExpirationDateString() 
$expiration 

Это работает ровно в два раза, прежде чем выбросить "GetResponse с 0 аргументов" (!). Если я снова открою PowerShell, он будет работать снова ровно 2 раза. Я не уверен, что здесь происходит ...

+0

вы помещаете этот скрипт в profile.ps1? вы хотите, чтобы другой скрипт проверял достоверность ssl или просто улучшал это? – powershell

ответ

0

Я не уверен, почему он работает 2 раза, а затем терпит неудачу. Однако если вы добавите

$req.Abort() 

после последней строки фрагмента, который вы показали, он будет работать каждый раз. Однако будьте осторожны, если этот фрагмент кода является неполным, и вы делаете что-то с $ req после этого фрагмента, тогда вызов метода abort может вызвать некоторые исключения.

Смежные вопросы