我在某个Http接口中使用RestSharp库,本地使用正常,但服务器上StatusCode返回0。但本地和服务器上postman都返回正常。
以下是C#代码部分:
IRestResponse<T> response;
var client = new RestClient();
client.BaseUrl = new Uri(_baseUrlface);
client.AddHandler("application/json", new RestSharp.Deserializers.JsonDeserializer());
client.Timeout = 60000;
request.AddHeader("Content-Type", "application/json");
response = client.Execute<T>(request);
var request = new RestRequest("/face/external/getToken", Method.POST);
GetTokenRsp gettokenrsp = new GetTokenRsp();
request.AddHeader("Content-Type", "application/json");
string message = "";
message = JsonTools.ObjectToJson(gettokenreq);
request.AddParameter("application/json", message, ParameterType.RequestBody);
var response = Execute<PostCreated>(request);
logger.Error("StatusCode: " + response.StatusCode.ToString());
`
简要地说, 就是增加对TLS1.2的支持:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
那么问题来了,是我本机默认就支持TLS1.2吗, 是那么设置的? postman上又怎么设置呢?
应该是我的本机启用了TLS1.2支持,而服务器上没有启用TLS1.2的支持,所以出现同样的代码本机没问题,而服务器上没法使用。文章来源:https://www.toymoban.com/news/detail-834748.html
Postman里面默认确实是默认支持TLS1.2的,所以在本地和服务器端postman都没有问题。但TLS1.2我在Setting当中没有看到如何设置或更改成TLS1.1和TLS1.0的。文章来源地址https://www.toymoban.com/news/detail-834748.html
到了这里,关于Http接口postman获取应答正常,c# RestSharp调用异常的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!