当前位置: 首页 > news >正文

学校网页网站模板免费下载查询域名是否做过网站

学校网页网站模板免费下载,查询域名是否做过网站,毕业设计 网站开发,不锈钢网片从虚拟机调用本地API报各种 SSL 连接不上的错误,这给本地调试造成了极大的不便,在被这个问题困扰了多日以后,终于在GitHub上找到答案 基于这个 帖子 ,有一个回复 他写了一个帮助类,专门用来调试本地的API,…

从虚拟机调用本地API报各种 SSL 连接不上的错误,这给本地调试造成了极大的不便,在被这个问题困扰了多日以后,终于在GitHub上找到答案

基于这个 帖子 ,有一个回复

他写了一个帮助类,专门用来调试本地的API,并给出了这个调用类的用法,此帮助类如下

using System.Net.Security;public class DevHttpsConnectionHelper
{public DevHttpsConnectionHelper(int sslPort){SslPort = sslPort;DevServerRootUrl = FormattableString.Invariant($"https://{DevServerName}:{SslPort}");LazyHttpClient = new Lazy<HttpClient>(() => new HttpClient(GetPlatformMessageHandler()));}public int SslPort { get; }public string DevServerName =>
#if WINDOWS"localhost";
#elif ANDROID"10.0.2.2";
#elsethrow new PlatformNotSupportedException("Only Windows and Android currently supported.");
#endifpublic string DevServerRootUrl { get; }private Lazy<HttpClient> LazyHttpClient;public HttpClient HttpClient => LazyHttpClient.Value;public HttpMessageHandler? GetPlatformMessageHandler(){
#if WINDOWSreturn null;
#elif ANDROIDvar handler = new CustomAndroidMessageHandler();handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) =>{if (cert != null && cert.Issuer.Equals("CN=localhost"))return true;return errors == SslPolicyErrors.None;};return handler;#elsethrow new PlatformNotSupportedException("Only Windows and Android currently supported.");
#endif}#if ANDROIDinternal sealed class CustomAndroidMessageHandler : Xamarin.Android.Net.AndroidMessageHandler{protected override Javax.Net.Ssl.IHostnameVerifier GetSSLHostnameVerifier(Javax.Net.Ssl.HttpsURLConnection connection)=> new CustomHostnameVerifier();private sealed class CustomHostnameVerifier : Java.Lang.Object, Javax.Net.Ssl.IHostnameVerifier{public bool Verify(string? hostname, Javax.Net.Ssl.ISSLSession? session){returnJavax.Net.Ssl.HttpsURLConnection.DefaultHostnameVerifier.Verify(hostname, session)|| hostname == "10.0.2.2" && session.PeerPrincipal?.Name == "CN=localhost";}}}
#endif
}

 在安卓机里面是没有 localhost 的,也没有 127.0.0.1 代表本机的取而代之的是 10.0.2.2 。在 HTTPS 里面,证书是被强制使用的,本地 Web API 会有一个默认证书,他里面带一个 “CN=localhost” 所以上面的类针对这个进行了过滤,并且 Android 的底层用的不是默认的 .net 的 HttpClient ,使用了 GetPlatformMessageHandler 进行了重写,这个可是Java 的包。

我的本地调用使用

                            var devSslHelper = new DevHttpsConnectionHelper(sslPort: 5001);_blazorHubConnection = new HubConnectionBuilder()
#if ANDROID.WithUrl(devSslHelper.DevServerRootUrl + "/hubs/devicehub", configureHttpConnection: o =>{o.HttpMessageHandlerFactory = m => devSslHelper.GetPlatformMessageHandler();})
#else.WithUrl(devSslHelper.DevServerRootUrl + "/hubs/devicehub")
#endif.Build();

这个时候就不报 SSL 的连接错误了,可以方便的正常调试

http://www.yayakq.cn/news/852900/

相关文章:

  • 佛山公众平台网站推广多少钱网页翻译算切屏吗
  • 在凡科网申请的网站设置网页访问密码模板做网站多少钱
  • 肃宁做网站价格网站图片设置软件
  • 资源网站自己建设还是发软文保山网站建设报价
  • 网站建设贰金手指科捷6杭州鼎易科技做网站太坑
  • 网站建设费算不算固定资产整站seo包年费用
  • 女人能做网站开发吗杭州手机网站建设
  • 支付的网站建设费整么做账网站开发要学什么
  • 西安h5网站建设前端开发培训机构成都
  • 网上做调查网站wordpress dopt
  • 做商城购物网站厦门建设网站
  • 四川城乡与住房建设部网站专业建站流程
  • 铁道部售票网站多少钱建设网站建设与服务费是什么服务
  • 西安网站建设电话微信小程序网站模板
  • 检察院网站建设情况网站建设 维护费用
  • 建设自己的网站怎么做网站建设安全吗
  • 网站建设越来越便宜网页休闲小游戏
  • wordpress tags页面旺道seo优化软件
  • 论坛式网站建设最新大气房地产企业网站织梦模板
  • 网站建设营销外包公司排名中国建设银行官网个人网上银行
  • 企业网站如何去做优化网站项目计划书
  • 蛋糕方案网站建设建筑网片的用途
  • 烟台市城市建设发展有限公司网站店面设计师
  • 萌宝宝投票网站怎么做外贸公司推广平台
  • 淡水做网站做ppt用什么网站
  • 样asp.net做网站和县建设局网站
  • seo网站推广实例北京营销推广网站建设
  • 沈阳旅游集团网站建设山东建设银行官方网站
  • 如何进行网站网站调试做个购物商城网站多长时间
  • ae如何做视频模板下载网站北京东方华美建设集团有限公司网站