首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QUrl不解析带下划线的主机名

QUrl不解析带下划线的主机名
EN

Stack Overflow用户
提问于 2010-01-19 14:32:27
回答 1查看 746关注 0票数 1

今天我发现在Qt4.6中,如果主机名包含下划线,QUrl将不会解析url。

我理解,根据标准,域名中不允许有下划线,但是有一些urls是有下划线的,特别是对于某些子域。

例如,我偶然发现了这个提要的url:

http://hero_hki.mysinablog.com/rss.php

QUrl("http://hero_hki.mysinablog.com/rss.php").toString()返回“

Firefox和Google Chrome无论如何都可以访问此页面。

(我使用Qt4.6 tp1进行了测试。我不太确定这个问题是否在发行版中得到了修复,因为我没有时间在我的笔记本电脑上编译发行版来开发我的玩具阅读器。)

有什么建议吗?谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-19 16:52:50

我从Qt 4.6.0 changelog上读到了以下内容

对于URL中的主机名,

QUrl的解析器更加严格。QUrl现在强制执行标准3规则:

  • 每个单独的主机名部分(点之间)的长度必须最多为63个ASCII码字符;
  • ASCII码范围内只允许使用字母、数字和连字符;ASCII码范围外的字母遵循正常的IDN规则

这意味着QUrl不再接受一些以前无效的QUrl,但不会被解释为无效QUrl。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2091572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档