>

RESTSHARP가있는 엄청나게 간단한 웹 요청이 있습니다.

var client= new RestClient("https://website.net");
var request= new RestRequest("/process", Method.GET);
request.AddParameter("cmd", "execute");
IRestResponse response= client.Execute(request);
var content= response.Content;
Console.WriteLine("Response: " + content);

오류 메시지를 반환합니다.

요청이 중단되었습니다. SSL /TLS 보안 채널을 만들 수 없습니다.

세 가지 :

  1. 브라우저를 통해 기대하는 응답을 얻습니다.
  2. Postman,
  3. 를 통해 기대하는 응답을 얻습니다.
  4. 이 요청은 테스트 환경으로 전송되지만, 매우 유사한 주소가있는 프로덕션 환경으로 보낼 수 있으며,
  5. 를 기대하는 응답을 얻을 수 있습니다.
  6. 나는 오늘 이전에 일하기 전에 긍정적이다.

인증서는 AES 128을 사용하여 TLS 1.2를 사용하고 있으므로 RC4로 인한 오류와 관련이 없습니다.

이것은 Visual Studio 2015의 Local Win 10 컴퓨터에서 .NET 4.5.2의 대상 프레임으로.

왜이 오류가 발생합니까?

편집 :

code를 변경하여 기본 system.net 및 webrequest 클래스를 사용하고 행을 추가하여 다음을 추가하십시오.

ServicePointManager.SecurityProtocol= SecurityProtocolType.Tls12;

제안 된대로

그것은 작동합니다. 그래서 RESTSHARP가 어떤 이유로 든 잘못된 프로토콜을 사용하고있는 것 같아요?

웹 사이트 인증서가 유효합니까? 그렇지 않은 경우 인증서를 처리하고 수동으로 유효성을 검사해야합니다.

dsdel2021-03-25 11:29:04

RESTSHARP의 가능한 복제 : SSL /TLS 보안 채널을 만들 수 없습니다.

Fred Kleuver2021-03-25 11:29:04

어떤 .NET Framework /버전을 대상으로합니까? OS는 무엇입니까? 이것은 (로컬 dev) 기계 또는 (프로덕션) 서버에서 발생합니까?

wp78de2021-03-25 11:29:04

General Message Windows가 제공하는 오류에 대해 더 자세한 이유를 얻으려면 Windows 이벤트 뷰어를 살펴보십시오. 거기에서 TLS 오류 code를 가져올 수 있어야합니다.

ToastyMallows2021-03-25 11:29:04

나는 소스를 호기심에서 다운로드했습니다 (이전에 RESTSHARP를 사용하지 마십시오). 내부적으로 System.Net.httpWeRequest (WebRequest)를 상속받습니다. 나는 또한 내부적으로 예외를 붙잡고 response.errorMessage로 설정하는 code를 가로 지르 셨습니다 (그래서 예외가 어딘가에서 던져집니다). TLS1.2를 활성화하는 행을 추가하면 RESTSHARP code와 함께 작동 할 수 있습니다.

Wiz2021-03-25 11:29:04
  • 이전 DELPHI 선언 문제
  • 다음 Python - 파이썬 - 레이블로 산점도 색상을 플롯으로 할당