WPF通过SSL进行Web api调用

马蒂亚斯·科尔帕特(Mathias Colpaert)

我已经建立了一个简单的Web API项目,该项目强制执行https,

IIS Express配置

当我通过浏览器调用服务时,我得到了正确的结果:

在此处输入图片说明

但是,如何从WPF客户端调用此服务?

调用“非” https服务不会给我任何问题:

HttpClient client = new HttpClient() 
{
    BaseAddress = new Uri("http://localhost:49838/") 
};

client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

try
{
     HttpResponseMessage response = await client.GetAsync("/api/products/");
     ...

我如何调用我的https:// ...服务?

微技术

我知道您已经解决了您的问题。Bur我的回答只是为了更新您和其他新用户,他们应该使用HttpClient类而不是WebRequest。

了解有关HTTPClient的更多信息-HttpClient在这里!

HttpClient是功能更强大且经过改进的工具。HttpClient是.NET的现代HTTP客户端。它提供了一种灵活且可扩展的API,用于访问通过HTTP公开的所有内容。

这是将检查来自受信任的根证书颁发机构(StoreName.Root)的证书的示例方法,并将检查本地计算机(StoreLocation.LocalMachine)中的证书。

        X509Certificate2 cert = null;
        X509Store store = null;

        try
        {
            store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
            store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
            // You can check certificate here ... 
            // and populate cert variable.. 
        }
        finally
        {
            if (store != null) store.Close();
        }


        var clientHandler = new WebRequestHandler();
        if (cert != null) clientHandler.ClientCertificates.Add(cert);

        var client = new HttpClient(clientHandler) {BaseAddress = new Uri(uri)};

然后您可以做任何您想做的事情。

希望能帮助到你。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Ruby中通过SSL进行API调用

来自分类Dev

CoreUI进行API调用

来自分类Dev

通过Switch语句进行API调用

来自分类Dev

调用Web API方法

来自分类Dev

Ajax调用Web API

来自分类Dev

进行Web API调用时捕获异常

来自分类Dev

进行Web API调用时捕获异常

来自分类Dev

Ajax jQuery进行Web API调用

来自分类Dev

如何通过Web API调用存储过程

来自分类Dev

通过SSL调用REST Web服务

来自分类Dev

如何调用使用令牌 OAuth 的第 3 方 API 以允许使用依赖注入通过 Web API 进行调用

来自分类Dev

非SSL站点对SSL站点进行API调用

来自分类Dev

如何通过移动应用程序对Web api控制器进行后期调用

来自分类Dev

API调用for循环进行角度

来自分类Dev

无法进行外部API调用

来自分类Dev

如何进行API调用

来自分类Dev

使用swift进行API调用

来自分类Dev

通过api调用远程关闭

来自分类Dev

通过PHP调用API JSON

来自分类Dev

从SSIS调用Web API页面?

来自分类Dev

Ajax调用Web API方法

来自分类Dev

Java Web API调用for循环

来自分类Dev

通过Microsoft Web API端点调用Web服务-asmx?

来自分类Dev

Ajax API调用Web API核心

来自分类Dev

通过Express的多个API调用进行静态变量

来自分类Dev

如何通过unix中的curl进行Twitter API调用

来自分类Dev

通过Express的多个API调用进行静态变量

来自分类Dev

如何进行Web API Post方法调用

来自分类Dev

对Android应用进行身份验证以调用Web API服务