Flurl과 협력하여 인증서 기반 인증이 필요한 API를 사용하고 있습니다. this SO post에서 WebRequestHandler
에 인증서를 추가하고 HttpClient
에게이 핸들러를 사용하도록 지시하는 것이 쉽습니다.C# Flurl - FlurlClient에 WebRequestHandler 추가
그러나 Flurl을 사용하는 것은 분명하지 않습니다. 나는 다음 세 가지를 시도했다. 내가 처음 내가 핸들러를 생성하고이 HttpClient
에 할당 할 X509HttpFactory : DefaultHttpFactory
내 자신을 만들 필요가 있다고 의심 DefaultHttpFactory
확장
. 그러나 소스를 보면 CreateClient
의 생성자가 이미 처리기를 예상한다는 것을 알았습니다. 이 핸들러는 어디서 오는 걸까요? 이 HttpClient
로 컴파일되지 않습니다 DefaultHttpFactory
WebRequestHandler handler = new WebRequestHandler();
handler.ClientCertificates.Add(myX509Cert);
var clientFactory = new DefaultHttpClientFactory();
FlurlClient fc = clientFactory.CreateClient(url, handler);
를 사용하여 클라이언트를 만들기
이 가장 실행 가능한 옵션처럼 보인다 FlurlClient
에
사용 ConfigureHttpClient
var clientFactory = new DefaultHttpClientFactory();
FlurlClient fc = new Url("foobar.com").ConfigureHttpClient(client => client = clientFactory
.CreateClient(url, handler));
을 주조 할 수 없다 , 부 대리인이 반환 유형이없는 Action
이므로 확신 할 수 없습니다.
[질문
Flurl를 사용하여 클라이언트 측 인증서 인증을 지원하는 가장 좋은/올바른 방법은 무엇입니까?
감사합니다. 굉장한 도서관! –