Https POST/GET无法使用Mono

Con*_*ole 22 c# mono ssl restsharp raspberry-pi

我想使用Mono + Restsharp在Raspberry上执行HttpPost.

我尝试在代码中重现的Httpie调用看起来像这样:

 http POST https://XXXXX.azurewebsites.net/api/report key=value
Run Code Online (Sandbox Code Playgroud)

这是C#代码:

RestClient nodeRed = new RestClient("http://XXXXX.azurewebsites.net/");
var request = new RestRequest("api/report", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(new { Timestamp = DateTime.Now, Data = "Test" });
request.Timeout = 5000;

var response = nodeRed.Execute(request);
Run Code Online (Sandbox Code Playgroud)

代码运行正常,它只是无法正常工作.响应不包含任何内容(在httpie/MS .NET Framework上具有"成功"的服务器响应).

我已经在Mono上发现了证书的内容.运行

sudo certmgr -ssl -v -m "https://XXXXX.azurewebsites.net"
Run Code Online (Sandbox Code Playgroud)

告诉我它第一次添加两个证书.再次运行它会再次添加第一个证书(并再次),因为它不起作用.

X.509证书v3发布自:C = IE,O =巴尔的摩,OU = Cyber​​Trust,CN = Baltimore Cyber​​Trust Root颁发给:C = US,S =华盛顿,L = Redmond,O = Microsoft Corporation,OU = Microsoft IT, CN = Microsoft IT SSL SHA2有效期:19/12/2013 20:07:32有效期至:19/12/2017 20:06:55 警告:证书签名为INVALID 将此证书导入CA商店?

如果我确认并重复导入,certmgr会要求我再次导入.我如何让http帖子工作?

gme*_*tax 3

您可以尝试忽略证书

ServicePointManager.ServerCertificateValidationCallback = (s, cert, chain, ssl) => true;
Run Code Online (Sandbox Code Playgroud)

我在这里
看到的更新也存在于 Mono 上