<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文的需求背景是對接蘋果公司的推播服務(APNS),蘋果在安全方面比較積極,已經嚴格限制API只支援HTTP2。但是我這裡的應用目前仍然是.NET Framework平臺,所以必須尋找一種解決方案。本文在調研及驗證後,將相關資料整理出來供大家參考。
HTTP/2(超文字傳輸協定第2版,最初命名為HTTP 2.0),簡稱為h2(基於TLS/1.2或以上版本的加密連線)或h2c(非加密連線)[1],是HTTP協定的的第二個主要版本,使用於全球資訊網。
多數主流瀏覽器已經在2015年底支援了該協定。[9]此外,根據W3Techs的資料,截至2021年10月,全球有46.5%的網站支援了HTTP/2。
劃重點:HTTP2依賴的TLS協定版本號必須大於等於1.2,因此後文就分別針對Windows系統、Net Framework框架對HTTP2、TLS1.2的支援情況來梳理。
調研結論:需要Windows Server 2016或者Windows 10及更高版本。
參考資料:https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/http2-on-iis
結論:Windows 8.1、Windows Server 2012 R2、Windows 10、Windows Server 2016 和更高版本的 Windows 在本機支援 TLS 1.2。
參考資料:https://docs.microsoft.com/zh-cn/mem/configmgr/core/plan-design/security/enable-tls-1-2-client
結論:不支援!但是有解決方案:安裝nuget包System.Net.Http.WinHttpHandler
參考資料:https://github.com/dotnet/runtime/issues/31217
nuget包介紹如圖所示:
根據簡介可以得知:該nuget包是將Windows系統的WinHTTP介面封裝,也就是說程式發起HTTP請求是通過Windows實現,而不是HttpClientHandler。而根據前面的調研,Windows對HTTP2和TLS1.2的支援情況已經非常明確。
結論:框架.Net Framework 4.6.2及以上支援tls1.2
參考資料:https://docs.microsoft.com/zh-cn/mem/configmgr/core/plan-design/security/enable-tls-1-2-client
現在確保Windows系統能夠滿足最低要求 ,即可編寫測試應用來驗證請求。下面是程式碼片段,我在Windows Server 2016+.NET Framework 4.8環境可以請求成功。
try { string url = "https://api.push.apple.com" + (":443") + "/3/device/" + appleDeviceToken; var req = new HttpRequestMessage(HttpMethod.Post, url); req.Version = new Version(2, 0); req.Content = new JsonContent("{}"); var resp = httpClient.SendAsync(req).Result; string respContent = resp.Content.ReadAsStringAsync().Result; this.outputBox.Text += respContent; } catch (Exception ex) { this.exceptionBox.Text = ex.ToString(); }
隨著各大瀏覽器支援和蘋果的帶頭效應,HTTP2的應用會越來越廣泛,但是規模龐大的.NET Framework應用卻也不能為了連線HTTP2就升級到NET Core平臺。通過本文提供的方案,可以最小成本的實現.NET Framework應用成功存取HTTP2站點。
到此這篇關於如何在.Net Framework應用中請求HTTP2站點的文章就介紹到這了,更多相關.Net Framework請求HTTP2站點內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45