带有连字符的 URL 无法使用 Android 浏览器打开

Posted

技术标签:

【中文标题】带有连字符的 URL 无法使用 Android 浏览器打开【英文标题】:URL with hyphen can not open with Android browser 【发布时间】:2018-01-16 20:50:51 【问题描述】:

我遇到了一个非常奇怪的问题。网址如http://wei-.x.yupoo.com

可以用Windows PC、macOS、ios浏览器打开,但不能用android浏览器打开,会报DNS错误。

谁能帮我弄清楚为什么?我在 RFC3986 sec 3.1 中检查了 RFC7320 和 RFC3986

方案名称由一系列以 a 开头的字符组成 字母,后跟字母、数字和加号的任意组合 ("+")、句点 (".") 或连字符 ("-")。虽然方案是案例- 不敏感,规范形式是小写的,文档是 指定方案必须使用小写字母。一个实现 应该接受大写字母等同于方案中的小写 名称(例如,允许“HTTP”和“http”) 健壮性,但应该只为生成小写的方案名称 一致性。

看来这个网址应该没问题。

【问题讨论】:

【参考方案1】:

尝试将连字符替换为%E2%80%93

示例:http://wei%E2%80%93.x.yupoo.com

【讨论】:

【参考方案2】:

只需在 Android 中使用 Chrome。我一加三试了一下,可以打开了

【讨论】:

以上是关于带有连字符的 URL 无法使用 Android 浏览器打开的主要内容,如果未能解决你的问题,请参考以下文章

android分享带有指示谷歌地图的可点击字符串url

PhoneGap InAppBrowser:无法打开带有“%”字符的链接

URL 启动器在某些 Android 设备中无法与 Flutter Web 一起使用

带有乱码 UTF-8 字符的 Android WebView。

无法使用 % url % 模板标签正确生成带有捕获参数的 URL

调用 url_launcher 模块打开外部浏 览器 打开外部应用 拨打电话 发送短信