小编Ger*_*ald的帖子

C#Web请求w RestSharp-“请求已中止:无法创建SSL / TLS安全通道”

我对RestSharp提出了一个非常简单的Web请求:

var client = new RestClient("https://website.net");
var request = new RestRequest("/process", Method.GET);
request.AddParameter("cmd", "execute");
IRestResponse response = client.Execute(request);

var content = response.Content;
Console.WriteLine("Response: " + content);
Run Code Online (Sandbox Code Playgroud)

这将返回错误消息:

该请求已中止:无法创建SSL / TLS安全通道

三件事:

  1. 我通过浏览器得到了期望的响应,
  2. 我通过邮递员得到了期望的回复,
  3. 该请求已发送到测试环境,但是我可以将其发送到地址非常相似的生产环境,并获得我期望的响应,
  4. 我很肯定它在今天之前奏效。

他们的证书使用的是TLS 1.2和AES 128,因此它与RC4引起的错误无关。

这是在Visual Studio 2015中的本地Win 10计算机上,目标框架为.NET 4.5.2。

为什么会出现此错误?

编辑:

通过更改代码以使用基本System.Net和WebRequest类并添加以下行:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Run Code Online (Sandbox Code Playgroud)

正如从这里建议的那样,它有效。所以我猜RestSharp由于某种原因使用了错误的协议?

c# restsharp

8
推荐指数
3
解决办法
9549
查看次数

将数组的大小设置为从另一个常量的除法派生的const的值

我有这两个假设的常量:

int const MATRIX_SIZE = 1000;

int const LONGEST_LR_LINK = (int)floor(MATRIX_SIZE/2);
Run Code Online (Sandbox Code Playgroud)

我试图声明一个数组:

int lrLinkArray [LONGEST_LR_LINK];
Run Code Online (Sandbox Code Playgroud)

我收到错误:

错误:数组绑定在']'标记之前不是整数常量

手动插入MATRIX_SIZE用于LONGEST_LR_LINK的任何一半都不会那么麻烦,但我很好奇这个解决方案是什么.对const进行任何计算是不好的做法吗?

c++ arrays const constant-expression

2
推荐指数
1
解决办法
69
查看次数

标签 统计

arrays ×1

c# ×1

c++ ×1

const ×1

constant-expression ×1

restsharp ×1