2010-01-19 3 views
0

오늘 호스트 이름에 밑줄이 포함되어 있으면 Qt 4.6에서 URL이 구문 분석되지 않습니다.QUrl이 호스트 이름을 밑줄로 구문 분석하지 않습니다.

본인은 표준에 따라 도메인 이름에 밑줄을 사용할 수 없다는 것을 알고 있지만 밑줄이있는 URL이 일부 있습니다 (특히 일부 하위 도메인의 경우). 예를 들어

, 난이 피드의 URL을 건너 온 : "/rss.php HTTP"

파이어 폭스와 구글을

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

및 QUrl ("http://hero_hki.mysinablog.com/rss.php")로 .toString()는 반환

Chrome은이 페이지에 액세스 할 수 있습니다.

은 (내가 Qt는 4.6 TP1 테스트. 내 장난감 피드 리더를 개발하기 위해 내 노트북에 릴리스 버전을 컴파일 시간이 없었다 사촌이 문제가 릴리스에서 해결 여부를 확신하지 않습니다.)

어떤 충고? 감사합니다 :)

+0

Qt 4.6.0 릴리스에서 테스트되었으며 출력이 동일합니다. 그러나 Qt 4.3.4는 URL을 올바르게 출력합니다. – Job

답변

1

은 내가 Qt 4.6.0 changelog에서 다음 읽어

QUrl의 파서 때의 URL에서 호스트 이름에 대한 더 엄격하다. 길이가 가장 63 ASCII 문자이어야합니다 (점 사이)

  • 각 호스트 섹션; QUrl 지금 STD 3 개 규칙을 적용합니다

  • ASCII 범위의 문자에는 숫자, 숫자 및 하이픈 문자 만 사용할 수 있습니다. 는 ASCII 범위 밖의 문자는 일반 IDN은 더 이상 QUrl을 의미 전에 올바르지 일부 URL을 받아

규칙에 따라하지만, 이와 같이 해석되지 않았다.

+0

이 변경 로그를 알리지 못했습니다. 규칙을 따르는 것이 이해 될 수 있습니다. 나는이 엄격한 방법을 따르는 다른 어플리케이션이 없다는 사실에 놀랐다. 그리고 네, mysinablog는이 서브 도메인 이름을 허용하는 것이 전문가가 아닙니다. 저에게 두통이 생깁니다. – Cooy

관련 문제