我正在尝试使用Cocoa和Swift创建Web浏览器。我有一个NSTextField
用户可以进入他想要打开的网站和一个WebView
显示所请求的页面。到目前为止,为了改善用户体验,我正在检查用户输入的网站是否以http://
开头,如果不是,则添加它。那么,它适用于大多数情况下,但不是每次,例如当用户想要打开本地网页或类似about:blank
。我如何检查是否需要添加http://
,如果我应该添加https://
而不是http://
?何时将http(s)://添加到网站地址
0
A
回答
0
你需要在你对什么样的用户在键入的分类更精确 下面是一些例子和预期反应:
- www.google.com:应该翻译成http://www.google.com
- ftp://www.foo.com :不应该被修改。同去的file://(本地)
- 奥巴马:可能应该运行搜索引擎
- 约:设置:应该打开内部页
所以你弄清楚这些规则后,所有的例外情况,你可以使用正则表达式来找出应该做什么。对于HTTP与HTTPS - 如果站点支持HTTPS,如果您转到HTTP链接,您将获得重定向响应(307内部重定向,301永久移动等)。因此,例如,如果您尝试导航至http://www.facebook.com,则会收到307将您重定向至https://www.facebook.com。换句话说,取决于网站告诉浏览器它有HTTPS(除非你自己导航到HTTPS开始)。
0
一个简单而相当准确的方法就是寻找不同模式的存在。如果字符串在遇到任何斜线之前以[SomeText]:
开头,则可能意图指示不同的架构,例如about:
,mailto:
,file:
或ftp:
。
如果您没有看到非http架构,请尝试通过预先计划http://
将URL解析为HTTP URL。
相关问题
- 1. 将http:// www添加到网址
- 2. 如何将地址添加到网页上的谷歌地图?
- 3. 将getTotal添加到网站
- 4. 将网站添加到IIS
- 5. 将Wordpress添加到网站
- 6. 如何将网址添加到书签?
- 7. 如何将php添加到网址?
- 8. htaccess文件将虚拟目录地址添加到网址
- 9. 如何在需要时将“http://”协议预先添加到网址中?
- 10. 添加网站到主屏幕没有地址栏
- 11. 如何将OpenID添加到php网站?
- 12. 将RSS添加到任何网站?
- 13. 将追加斜杠添加到网址
- 14. 将http://添加到提交的网址的开头
- 15. mysql将http://添加到网站列中的所有记录
- 16. 如何使用htaccess为网站的IP地址添加代码?
- 17. WPML是添加不存在的网址,以Yoast网站地图
- 18. PHP:将参数添加到网址?
- 19. 将记录添加到地址簿
- 20. UIWebView - 将对象添加到地址
- 21. 将IP地址添加到HttpRequestMessage
- 22. 在我的地址之前添加“Http://”
- 23. 添加时间到URL地址
- 24. 如何将实时视频流添加到网站?
- 25. 将asp.net MVC站点部署到IIS7并使用网站地址
- 26. 将网址参数添加到DoubleClick目标网址
- 27. 添加网站图标到网站
- 28. iOS 8将地址簿添加到地址簿
- 29. 将Javascript添加到网站上
- 30. 将字段添加到网站模型