Ошибка Powershell Invoke-WebRequest — взаимодействие с Azure Databricks

Я использую PowerShell в настольной PS версии 5.1.14393.2155. Я пытаюсь использовать Invoke-WebRequest. Используемая виртуальная машина Azure не является частью брандмауэра и т. д. Поэтому у меня не должно быть здесь никаких проблем или ограничений.

Я получаю следующую ошибку:

Invoke-WebRequest -Method Post -Uri 'https://IpAddress/resource'
Invoke-WebRequest : The underlying connection was closed: An unexpected error occurred on a send.
At line: 1 char:1
+ Invoke-WebRequest -Method Post -Uri 'https://IpAddress/resource ...
+
    + CategoryInfo         : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId: WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestComand

Я уже сделал свой звонок с помощью сценария Powershell. Кроме того, я назвал параметр команды для параметра по запросу в моем Powershell. Мне удалось протестировать уже некоторые статьи Stackoverflow. Нет успеха.

Уже испытано:

add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
   public bool CheckValidationResult(
       ServicePoint srvPoint, X509Certificate certificate,
       WebRequest request, int certificateProblem) {
       return true;
   }
  }
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy

$result = Invoke-WebRequest -Uri "https://IpAddress/resource"

Со ссылкой на статью Ошибка Powershell v3 Invoke-WebRequest HTTPS я мог понять и проверить эти шаги до сих пор.

Что здесь не так со мной?


person Brenner's Daniel    schedule 27.03.2018    source источник
comment
Может еще актуально. Я протестировал Invoke-WebRequest в минимуме и со всеми параметрами. Ошибка появляется уже после первого параметра (Uri).   -  person Brenner's Daniel    schedule 27.03.2018


Ответы (2)


Попробуйте принудительно использовать TLS 1.2

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
person Fabrizio Accatino    schedule 27.03.2018

Спасибо за ваш ответ. Я смог проверить это сегодня утром. Это возможно. Мое окончательное решение теперь выглядит так в сценарии.

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -Uri "https://IpAddress/resource" -Method Post -ContentType "application/xml"
person Brenner's Daniel    schedule 27.03.2018