使用.Net HttpClient绕过证书

野景

我正在尝试将REST消息发布到存在证书问题的网站。在我们的IT人员解决该问题之前,我需要在执行PostAsync呼叫时绕过此操作

由于某种原因,ServerCertificateCustomValidationCallback它不再是的一部分HttpClientHandler还有另一种方法可以解决此问题以避免权限错误?谢谢。

这是我在做什么的示例。

string json = JsonConvert.SerializeObject(new
            {
                Message = new
                {
                    TestID = "1",
                }
            });


var spHandler = new HttpClientHandler()
{
    ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) =>
    {
        return true;
    }
};

System.Net.Http.HttpClient client = new System.Net.Http.HttpClient(spHandler,true);
client.BaseAddress = new System.Uri("https://test.com");
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
var content = new StringContent(json, Encoding.UTF8, "application/json");
HttpResponseMessage msg = client.PostAsync(@"/Test", content).Result;

编辑:(修复了“ /”定界符问题)

 client.BaseAddress = new System.Uri("https://test.com");
 HttpResponseMessage msg = client.PostAsync(@"/Test", content).Result;

 client.BaseAddress = new System.Uri("https://test.com/");
 HttpResponseMessage msg = client.PostAsync("Test", content).Result;
野景

我实际上找到了问题,并编辑了上面的问题。原来,您不能在uri PostAsync查询中使用前导“ /”。这是造成问题的原因。处理程序实际上很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

绕过.net核心中的无效SSL证书

使用VBA绕过网站的安全证书警告

.net core docker 如何使用 httpclient 在代码中访问 pfx 证书?尝试从需要证书的容器访问外部 api

如何在Universal Windows App中使用System.Net.Http.HttpClient取消自签名证书

如何绕过Tibco EMS .NET API的证书验证

.NET Core应用程序中是否可以从AWS Certificate Manager中检索证书并在HttpClient帖子中使用它?

如何使用Microsoft-EDGE绕过证书错误

使用HttpClient检查服务器证书

使用Httpclient信任自签名证书

如何在HttpClient中使用证书?

使用Perl的Net :: SSLeay获取整个证书

如何使用 .net core 删除 pfx 证书

如何使用HttpClient的在使用SSL证书,无论多么“糟糕”是

使用 HttpClient 的 Net Core 测试方法

如何使.net HttpClient使用http 2.0?

在Unity上使用.NET自己的httpClient类

使用.Net HttpClient设置“按请求” cookie

在Selenium Grid环境中使用Watir-WebDriver绕过证书错误

使用“ badidea”或“ thisisunsafe”绕过Chrome证书/ HSTS错误是否仅适用于当前站点?

允许HttpClient使用不受信任的SSL证书

使用HttpClient“根据验证过程,远程证书无效”

通过HTTPS使用HttpClient信任所有证书

如何使用Apache HttpClient处理无效的SSL证书?

为证书提供EC私钥以在HttpClient C#中使用

Xamarin Android-使用带有证书的HttpClient调用API

.NET Core Httpclient可以使用,但是.Net Framework 4.7.2 httpclient不能使用

Java HttpClient错误,找不到SSL证书,在代码中使用证书作为String?

如何使用 .NET 在 Linux 上静默安装证书

使用纯.net Framework生成并签署证书请求