QUrl не анализирует имя хоста с подчеркиванием - PullRequest
0 голосов
/ 19 января 2010

Сегодня я обнаружил, что в Qt 4.6 QUrl не будет анализировать URL, если имя хоста содержит подчеркивание.

Я понимаю, что в соответствии со стандартом подчеркивание недопустимо в доменном имени, однако есть некоторые URL с подчеркиванием, особенно для некоторого субдомена.

Например, я наткнулся на URL этого канала:

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

и QUrl ("http://hero_hki.mysinablog.com/rss.php").toString() возвращает" http: /rss.php "

Firefox и Google Chrome могут получить доступ к этой странице в любом случае.

(Я тестировал с Qt 4.6 tp1. Не уверен, решена ли эта проблема в выпуске, потому что у меня не было времени скомпилировать релизную версию на моем ноутбуке для разработки моего устройства чтения игрушек.)

Любой совет? Спасибо:)

1 Ответ

1 голос
/ 19 января 2010

Я прочитал следующее из Qt 4.6.0 changelog :

Парсер QUrl более строгий, чем для имен хостов в URL.Теперь QUrl применяет правила STD 3:

  • каждая отдельная секция имени хоста (между точками) должна содержать не более 63 символов ASCII; только

  • буквы, цифры и дефис допускаются в диапазоне ASCII;буквы вне диапазона ASCII следуют обычным правилам IDN

Это означает, что QUrl больше не принимает некоторые URL-адреса, которые ранее были недействительными, но не интерпретировались как таковые.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...