c# - RestSharp 响应返回空

标签 c# rest

我正在使用 RestSharp 与 UPS API 对话。

我有 POSTMAN,我可以很好地与 API 对话,但是当我将它移植到 c# 时,我得到了 response.Content 的空值。

private void button2_Click(object sender, EventArgs e)
        {
            label1.Text = CustomerName;
            MessageBox.Show(username);
            MessageBox.Show(password);
            MessageBox.Show(Lic);
            try
            {
                var client = new RestClient("https://wwwcie.ups.com/rest/Track");
                var request = new RestRequest(Method.POST);
                request.AddHeader("postman-token", "73a23cf5-558a-9a83-ec80-4a224b35351a");
                request.AddHeader("cache-control", "no-cache");
                request.AddHeader("content-type", "application/json");
                request.AddParameter("application/json", "{\r\n  \"UPSSecurity\": {\r\n    \"UsernameToken\": {\r\n      \"Username\": " + username + ",\r\n      \"Password\": " + password + "\r\n    },\r\n    \"ServiceAccessToken\": {\r\n      \"AccessLicenseNumber\": " + Lic + "\r\n    }\r\n  },\r\n  \"TrackRequest\": {\r\n    \"Request\": {\r\n      \"RequestAction\": \"Track\",\r\n      \"RequestOption\": \"activity\"\r\n    },\r\n    \"InquiryNumber\": " + textBox1.Text.Trim() + "\r\n  }\r\n}", ParameterType.RequestBody);
                string result = "";
                request.Timeout = 10000;
                //IRestResponse response = client.Execute(request);

                client.ExecuteAsync(request, (response) =>
                {
                    result = response.Content;
                   MessageBox.Show(result);
                }
                );
            }
            catch (Exception err)
            {
                MessageBox.Show(err.ToString());
            }
        }

我觉得一切都很好,但我不确定问题出在哪里,我浏览了过去的文章并注意到了 ExecuteAsync,所以我尝试了该解决方案,但它仍然是空的。

感谢您的帮助。

最佳答案

我添加了这个并且成功了。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 |安全协议(protocol)类型.Tls12 |安全协议(protocol)类型.Tls11 |安全协议(protocol)类型.Tls;

关于c# - RestSharp 响应返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47584733/

相关文章:

java - Spring Boot休息 Controller : Return default Error JSON

c# - 为什么这个 `using` block 不释放数据库连接?

c# - 如何从列表集合中删除对象?

c# - 获取有关 DataSet 中 DataRelations 的信息

c# - 如何使用 lambda 查询查找最大 ID?

java - 使用 Spring 进行 REST

rest - YAML 作为表示服务之间交换的 REST 文档的方式不受欢迎吗?如果是,为什么?

json - Golang slice 的结构或新手在构建 REST 时遇到麻烦

c# - 如何交换 NumericUpDown 控件上的箭头按钮功能?