gpt4 book ai didi

c# - HTTPS POST/GET 不适用于 Mono

转载 作者:IT王子 更新时间:2023-10-29 04:31:38 25 4
gpt4 key购买 nike

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

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

 http POST https://XXXXX.azurewebsites.net/api/report key=value

这是 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);

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

我已经了解了 Mono 上的证书内容。运行

sudo certmgr -ssl -v -m "https://XXXXX.azurewebsites.net"

告诉我它第一次添加了两个证书。再次运行它会再次(又一次)添加第一个证书,就像它不起作用一样。

X.509 Certificate v3 Issued from: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root Issued to: C=US, S=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT SSL SHA2 Valid from: 19/12/2013 20:07:32 Valid until: 19/12/2017 20:06:55 WARNING: Certificate signature is INVALID Import this certificate into the CA store ?

如果我确认并重复导入,certmgr 会要求我再次导入。我怎样才能使 http post 起作用?

最佳答案

你可以尝试忽略证书

ServicePointManager.ServerCertificateValidationCallback = (s, cert, chain, ssl) => true;

更新
如我所见here也存在于 Mono 上

关于c# - HTTPS POST/GET 不适用于 Mono,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39331434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com