Na podstawie this scan nie wygląda na to, że identyfikator URI obsługuje wszystko, co jest niższe niż TLS 1.1.
W jakiej wersji systemu Windows jesteś? Jeśli korzystasz z PowerShell w wersji 4.0 lub niższej, nie będziesz w stanie negocjować połączenia TLS 1.1 lub 1.2, ponieważ .Net Framework nie obsługuje TLS 1.1 ani 1.2 do .Net Framework 4.5. PowerShell v4.0 to .Net 4.0. Oznacza to, że podstawowe klasy System.Net.WebRequest nie mogą negocjować połączenia. Wierzę, że PowerShell v5.0 jest .Net 4.5 lub .Net 4.6, ale nie mam klienta Win 10, aby teraz sprawdzić $PSVersionTable
.
Być może uda się go uruchomić poprzez ręczne kodowanie wywołań do WebRequest i określenie protokołu jako [System.Net.SecurityProtocolType]::Tls12
lub [System.Net.SecurityProtocolType]::Tls11
, ale nie jestem pewien, czy to możliwe. To powinno działać, jeśli zainstalowano .Net 4.5 z tego, co widzę, ale nigdy tego nie próbowałem.
Dla porównania, otrzymuję dokładnie takie same wyniki jak w Windows 7 x64/Powershell v4.0 i mam zainstalowany .Net 4.5, ale nigdy nie próbowałem ręcznie kodować WebRequest. Otrzymuję również błąd, jeśli używam wget dla Windows 1.11.4 z here (OpenSSL 0.9.8b, na długo przed TLS 1.1 i 1.2), ale działa dobrze, jeśli używam wget dla Windows 1.17.1 z here (aktualny, więcej lub mniej).
Spróbuj ustawić swojego agenta użytkownika do normalnej przeglądarki z '-UserAgent' równi metr. Może strona blokuje połączenia od "botów". – briantist
@briantist Pomyślałem o tym, ale nie, nawet przy odpowiednim useragencie to się nie udaje. – iTayb