今天我发现在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进行了测试。我不太确定这个问题是否在发行版中得到了修复,因为我没有时间在我的笔记本电脑上编译发行版来开发我的玩具阅读器。)
有什么建议吗?谢谢:)
发布于 2010-01-19 16:52:50
我从Qt 4.6.0 changelog上读到了以下内容
对于URL中的主机名,
QUrl的解析器更加严格。QUrl现在强制执行标准3规则:
这意味着QUrl不再接受一些以前无效的QUrl,但不会被解释为无效QUrl。
https://stackoverflow.com/questions/2091572
复制相似问题