Httpclient,证书在某些pc上工作';s但不是其他的C#
我已经制作了一个与我们的服务器api通信的应用程序 由于某些原因,此应用程序在某些PC上成功登录,但在其他PC上未成功登录。 如果不成功,我会从服务器收到一个JSON响应,表示未收到身份验证,因此会与服务器建立连接 此外,如果我运行Fiddler并启用https录制,我会在PC上得到与正常工作相同的结果。这让我相信应用程序之外的东西是问题的原因,但我真的不知道 有人对这个问题有什么想法吗? 我非常感谢你给我的建议 httpclient的代码Httpclient,证书在某些pc上工作';s但不是其他的C#,c#,windows,certificate,httpclient,C#,Windows,Certificate,Httpclient,我已经制作了一个与我们的服务器api通信的应用程序 由于某些原因,此应用程序在某些PC上成功登录,但在其他PC上未成功登录。 如果不成功,我会从服务器收到一个JSON响应,表示未收到身份验证,因此会与服务器建立连接 此外,如果我运行Fiddler并启用https录制,我会在PC上得到与正常工作相同的结果。这让我相信应用程序之外的东西是问题的原因,但我真的不知道 有人对这个问题有什么想法吗? 我非常感谢你给我的建议 httpclient的代码 using (var handler = new Ht
using (var handler = new HttpClientHandler())
{
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
try
{
var cert = SmartCardCertificate.GetDefaultCertificateStoredOnTheCard(); ;
handler.ClientCertificates.Add(cert);
}
catch
{
cRSP_Response _error = new cRSP_Response()
{
errNo = 99,
messageText = "No smartcard found, please insert smartcard and try again"
};
return JsonConvert.SerializeObject(_error);
}
handler.AllowAutoRedirect = true;
handler.PreAuthenticate = true;
using (var client = new HttpClient(handler))
{
client.BaseAddress = baseUri;
HttpResponseMessage response = await client.GetAsync("regions");
//respone.ensuresuccessstatuscode();
string repsonsecontent = await response.Content.ReadAsStringAsync();
if (!response.IsSuccessStatusCode)
{
};
return repsonsecontent;
}
}