Dựa trên this scan, có vẻ như URI đó không hỗ trợ bất kỳ điều gì thấp hơn TLS 1.1.
Bạn đang sử dụng phiên bản Windows nào? Nếu bạn đang sử dụng PowerShell phiên bản 4.0 trở xuống, bạn sẽ không thể thương lượng kết nối TLS 1.1 hoặc 1.2 vì .Net Framework không hỗ trợ TLS 1.1 hoặc 1.2 cho đến .Net Framework 4.5. PowerShell v4.0 là .Net 4.0. Điều đó có nghĩa là các lớp System.Net.WebRequest nằm bên dưới không thể thương lượng một kết nối. Tôi tin PowerShell v5.0 là .Net 4.5 hoặc .Net 4.6, nhưng tôi không có ứng dụng khách Win 10 để kiểm tra số $PSVersionTable
ngay bây giờ.
Bạn có thể làm cho nó hoạt động bằng cách mã hóa các cuộc gọi đến WebRequest theo cách thủ công và chỉ định giao thức là [System.Net.SecurityProtocolType]::Tls12
hoặc [System.Net.SecurityProtocolType]::Tls11
, nhưng tôi không chắc liệu điều đó có khả thi hay không. Đó là nghĩa vụ phải làm việc nếu. Net 4.5 được cài đặt từ những gì tôi nhìn thấy, nhưng, một lần nữa, tôi đã không bao giờ thử nó.
Để tham khảo, tôi nhận được kết quả chính xác giống như bạn trên Windows 7 x64/Powershell v4.0 và tôi đã có .Net 4.5 được cài đặt, nhưng tôi chưa bao giờ thử mã hóa thủ công WebRequest. Tôi cũng nhận được một lỗi nếu tôi sử dụng wget cho Windows 1.11.4 từ here (OpenSSL 0.9.8b, trước TLS 1.1 và 1.2), nhưng nó hoạt động tốt nếu tôi sử dụng wget cho Windows 1.17.1 từ here (hiện tại, nhiều hơn hoặc ít hơn).
Nguồn
2016-03-28 16:08:05
Hãy thử thiết lập user agent của bạn đến một trình duyệt thông thường với 'mệnh -UserAgent' một mét. Có thể trang web đang chặn các kết nối từ "bot". – briantist
@briantist Nghĩ về nó, nhưng không, ngay cả với useragent thích hợp này không thành công. – iTayb