Http接口RestSharp中StatusCode返回0, 但postman獲取應答正常?


我在某個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());

`

StackOverflow上有個人提出了相同的問題

同樣地, 我也在StackOverflow上找到了解決辦法

簡要地說, 就是增加對TLS1.2的支持:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

那么問題來了,是我本機默認就支持TLS1.2嗎, 是那么設置的? postman上又怎么設置呢?

應該是我的本機啟用了TLS1.2支持,而服務器上沒有啟用TLS1.2的支持,所以出現同樣的代碼本機沒問題,而服務器上沒法使用。

Postman里面默認確實是默認支持TLS1.2的,所以在本地和服務器端postman都沒有問題。但TLS1.2我在Setting當中沒有看到如何設置或更改成TLS1.1和TLS1.0的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM