QUrl Class Reference

[QtCore module]

该QUrl类提供了一个方便的接口,用于处理URL 。More…

Types

  • enum FormattingOption { None, RemoveScheme, RemovePassword, RemoveUserInfo, ..., StripTrailingSlash }
  • class **[FormattingOptions]($docs-index.htm)**
  • enum ParsingMode { TolerantMode, StrictMode }

Methods

  • __init__ (self)
  • __init__ (self, QString url)
  • __init__ (self, QString url, ParsingMode mode)
  • __init__ (self, QUrl copy)
  • addEncodedQueryItem (self, QByteArray key, QByteArray value)
  • addQueryItem (self, QString key, QString value)
  • list-of-QByteArray allEncodedQueryItemValues (self, QByteArray key)
  • QStringList allQueryItemValues (self, QString key)
  • QString authority (self)
  • clear (self)
  • detach (self)
  • QByteArray encodedFragment (self)
  • QByteArray encodedHost (self)
  • QByteArray encodedPassword (self)
  • QByteArray encodedPath (self)
  • QByteArray encodedQuery (self)
  • list-of-tuple-of-QByteArray-QByteArray encodedQueryItems (self)
  • QByteArray encodedQueryItemValue (self, QByteArray key)
  • QByteArray encodedUserName (self)
  • QString errorString (self)
  • QString fragment (self)
  • bool hasEncodedQueryItem (self, QByteArray key)
  • bool hasFragment (self)
  • bool hasQuery (self)
  • bool hasQueryItem (self, QString key)
  • QString host (self)
  • bool isDetached (self)
  • bool isEmpty (self)
  • bool isLocalFile (self)
  • bool isParentOf (self, QUrl url)
  • bool isRelative (self)
  • bool isValid (self)
  • QString password (self)
  • QString path (self)
  • int port (self)
  • int port (self, int defaultPort)
  • list-of-tuple-of-QString-QString queryItems (self)
  • QString queryItemValue (self, QString key)
  • str queryPairDelimiter (self)
  • str queryValueDelimiter (self)
  • removeAllEncodedQueryItems (self, QByteArray key)
  • removeAllQueryItems (self, QString key)
  • removeEncodedQueryItem (self, QByteArray key)
  • removeQueryItem (self, QString key)
  • QUrl resolved (self, QUrl relative)
  • QString scheme (self)
  • setAuthority (self, QString authority)
  • setEncodedFragment (self, QByteArray fragment)
  • setEncodedHost (self, QByteArray host)
  • setEncodedPassword (self, QByteArray password)
  • setEncodedPath (self, QByteArray path)
  • setEncodedQuery (self, QByteArray query)
  • setEncodedQueryItems (self, list-of-tuple-of-QByteArray-QByteArray query)
  • setEncodedUrl (self, QByteArray url)
  • setEncodedUrl (self, QByteArray url, ParsingMode mode)
  • setEncodedUserName (self, QByteArray userName)
  • setFragment (self, QString fragment)
  • setHost (self, QString host)
  • setPassword (self, QString password)
  • setPath (self, QString path)
  • setPort (self, int port)
  • setQueryDelimiters (self, str valueDelimiter, str pairDelimiter)
  • setQueryItems (self, list-of-tuple-of-QString-QString query)
  • setScheme (self, QString scheme)
  • setUrl (self, QString url)
  • setUrl (self, QString url, ParsingMode mode)
  • setUserInfo (self, QString userInfo)
  • setUserName (self, QString userName)
  • swap (self, QUrl other)
  • QByteArray toEncoded (self, FormattingOptions options = QUrl.None)
  • QString toLocalFile (self)
  • QString topLevelDomain (self)
  • QString toString (self, FormattingOptions options = QUrl.None)
  • QString userInfo (self)
  • QString userName (self)

Static Methods

  • QString fromAce (QByteArray)
  • QUrl fromEncoded (QByteArray url)
  • QUrl fromEncoded (QByteArray url, ParsingMode mode)
  • QUrl fromLocalFile (QString localfile)
  • QString fromPercentEncoding (QByteArray)
  • QString fromPunycode (QByteArray)
  • QUrl fromUserInput (QString userInput)
  • QStringList idnWhitelist ()
  • setIdnWhitelist (QStringList)
  • QByteArray toAce (QString)
  • QByteArray toPercentEncoding (QString input, QByteArray exclude = QByteArray(), QByteArray include = QByteArray())
  • QByteArray toPunycode (QString)

Special Methods

  • bool __eq__ (self, QUrl url)
  • bool __ge__ (self, QUrl url)
  • int __hash__ (self)
  • bool __lt__ (self, QUrl url)
  • bool __ne__ (self, QUrl url)
  • str __repr__ (self)

Detailed Description

该QUrl类提供了一个方便的接口,用于处理URL 。

它可以解析和构造的URL在这两个编码和非编码形式。 QUrl还拥有国际化域名(IDN )的支持。

使用QUrl最常用的方法是通过构造函数传递给它初始化一个QString。否则,setUrl()和setEncodedUrl()也可以使用。

URL可以有两种形式来表示:编码和非编码。未编码的表示法是适于显示给用户,而是编码表示通常你会发送到Web服务器什么。例如,未编码的URL “ http://bühler.example.com/List applicants.xml的”将被发送到服务器的“ http://xn--bhler-kva.example.com/List % 20of % 20applicants.xml “ ,这可以通过调用验证toEncoded()函数。

一个URL ,也可以通过调用构造一块一块setScheme( )setUserName( )setPassword( )setHost( )setPort( )setPath( )setEncodedQuery()和setFragment( ) 。一些方便的功能也可以:setAuthority( )设置用户名,密码,主机和端口。setUserInfo()设置用户名和密码一次。

Call isValid( )来检查URL是否有效。这可以在任何一点的URL的构建过程中来完成。

构造查询是通过使用特别方便setQueryItems( )addQueryItem()和removeQueryItem( ) 。使用setQueryDelimiters( )来定制用于生成查询字符串分隔符。

为了生成编码的URL字符串或查询字符串的方便,有两个静态函数调用fromPercentEncoding()和toPercentEncoding( )涉及%的编码和将QString解码。

调用isRelative( )会告诉的URL是否是相对的。相对URL可以通过将它作为参数传递给解决resolved( ) ,它返回一个绝对URL 。isParentOf( )是用于确定一个URL是否是另一个的父代。

fromLocalFile( )通过解析本地文件路径构造一个QUrl 。toLocalFile( )转换成一个URL到本地文件路径。

URL的人类可读的表示是牵强toString( ) 。这种表示是适合显示的URL中未编码形式的用户。然而的编码形式,所返回的toEncoded( ) ,是供内部使用,传递给Web服务器,邮件客户端等。

QUrl符合URI规范从RFC 3986(统一资源标识符:通用语法) ,并且包括从计划扩展RFC 1738(统一资源定位器) 。在QUrl情况下折叠规则符合RFC 3491( NAMEPREP :一个STRINGPREP简介国际化域名( IDN ) ) 。

Character Conversions

遵循这些规则,以避免错误的字符转换时用的URL和字符串处理:


Type Documentation

  1. QUrl.FormattingOption

格式选项定义了如何当写出来的文字的URL格式。

Constant Value Description
QUrl.None 0x0 URL的格式不变。
QUrl.RemoveScheme 0x1 该计划从URL中移除。
QUrl.RemovePassword 0x2 任何密码在URL中移除。
QUrl.RemoveUserInfo RemovePassword | 0x4 URL中的任何用户信息被删除。
QUrl.RemovePort 0x8 任何指定的端口是从URL中移除。
QUrl.RemoveAuthority RemoveUserInfo | RemovePort | 0x10
QUrl.RemovePath 0x20 在URL的路径被删除,只留下了方案,主机地址和端口(如果有的话) 。
QUrl.RemoveQuery 0x40 网址(以下一个’ ? ‘字符)的查询部分被删除。
QUrl.RemoveFragment 0x80
QUrl.StripTrailingSlash 0x10000 如果存在的斜线被删除。

请注意,在折叠的规则的情况下Nameprep,这QUrl符合,需要总是被转换为小写的主机名,而不管使用的Qt.FormattingOptions的。

该FormattingOptions类型是一个typedef为QFlags\u003cFormattingOption\u003e 。它存储FormattingOption值的或组合。

  1. QUrl.ParsingMode

解析模式控制方式QUrl解析字符串。

Constant Value Description
QUrl.TolerantMode 0 QUrl将设法纠正URL中一些常见的错误。处理用户输入的URL时,这种模式十分有用。
QUrl.StrictMode 1 只有有效的URL被接受。此模式适用于一般的URL验证有用。

在TolerantMode ,解析器修正了以下无效输入:

  • Spaces and “%20”: If an encoded URL contains a space, this will be replaced with “%20”. If a decoded URL contains “%20”, this will be replaced with a single space before the URL is parsed.
  • Single “%” characters: Any occurrences of a percent character “%” not followed by exactly two hexadecimal characters (e.g., “13% coverage.html”) will be replaced by “%25”.
  • Reserved and unreserved characters: An encoded URL should only contain a few characters as literals; all other characters should be percent-encoded. In TolerantMode, these characters will be automatically percent-encoded where they are not allowed: space / double-quote / “<” / “>” / “[“ / “” / “]” / “^” / “`” / “{“ / “|” / “}”

Method Documentation

  1. QUrl.__init__ (self)

构造一个空QUrl对象。

  1. QUrl.__init__ (self, QString url)

通过解析构造一个URLurlurl被假定为在人类可读表示,没有百分之编码。QUrl会自动%的编码,但在URL中允许的所有字符。默认的解析模式是TolerantMode

例如:

  1. [QUrl]($docs-qurl.html) url("http://www.example.com/List of holidays.xml");
  2. // url.toEncoded() == "http://www.example.com/List%20of%20holidays.xml"

从一个编码的字符串,调用构造一个URLfromEncoded():

  1. [QUrl]($docs-qurl.html) url = [QUrl]($docs-qurl.html).fromEncoded("http://qt.nokia.com/List%20of%20holidays.xml");

See also setUrl( )setEncodedUrl( )fromEncoded()和TolerantMode

  1. QUrl.__init__ (self, QString url, ParsingMode mode)

构造的副本other

  1. QUrl.__init__ (self, QUrl copy)

这是一个重载函数。

解析url使用分析器模式parsingMode。默认的解析模式是TolerantMode

See also setUrl( ) 。

  1. QUrl.addEncodedQueryItem (self, QByteArray key, QByteArray value)

插入对key=value到URL的查询字符串。

注:此功能不验证,要么key or value被正确编码。它是调用者的责任,以确保查询的分隔符的编码正确,如果有的话。

此功能被引入Qt的4.4 。

See also addQueryItem()和setQueryDelimiters( ) 。

  1. QUrl.addQueryItem (self, QString key, QString value)

插入对key=value到URL的查询字符串。

之前它被添加到查询的键/值对被编码。两人在内部转换成单独的字符串。该keyvalue首先编码成UTF -8 ,然后由valueDelimiter (返回的字符分隔) 。每个键/值对是通过pairDelimiter (返回的字符分隔) 。

Note:此方法不编码空格( ASCII码0X20 )为加号(+ )标志,就像HTML表单做。如果你需要这种编码方式,你必须自己编码值,并使用QUrl.addEncodedQueryItem 。

See also addEncodedQueryItem( ) 。

  1. list-of-QByteArray QUrl.allEncodedQueryItemValues (self, QByteArray key)

返回的查询字符串值的一个列表,其关键是等于key从URL中。

注意:如果该编码key不匹配查询的编码版本,此功能将无法正常工作。也就是说,如果该URL的编码查询“的搜索= Qt的% 20Rules ” ,调用这个函数key= “ % 73earch ”将返回一个空列表。

此功能被引入Qt的4.4 。

See also allQueryItemValues( )queryItemValue()和encodedQueryItemValue( ) 。

  1. QStringList QUrl.allQueryItemValues (self, QString key)

返回的查询字符串值的一个列表,其关键是等于key从URL中。

Note:此方法不解码的空间加号(+ )符号空格( ASCII码0X20 ) ,如HTML表单做。如果你需要这种解码,则必须使用QUrl.allEncodedQueryItemValues​​和自己解码数据。

See also queryItemValue( ) 。

  1. QString QUrl.authority (self)

返回如果它被定义URL的权限,否则为空字符串返回。

See also setAuthority( ) 。

  1. QUrl.clear (self)

重置的内容QUrl。调用该函数后,QUrl等于一个已经构建了默认的空构造函数。

  1. QUrl.detach (self)
  1. QByteArray QUrl.encodedFragment (self)

返回如果它被定义URL的片段;否则返回空字符串。返回的值将拥有非ASCII和其他控制字符百分比编码,如toEncoded( ) 。

此功能被引入Qt的4.4 。

See also setEncodedFragment()和toEncoded( ) 。

  1. QByteArray QUrl.encodedHost (self)

[

返回URL的主机部分,如果它被定义,否则返回空字符串。

注: encodedHost ( )不返回百分比编码的主机名。取而代之的是, ACE编码( ASCII裸以Punycode编码)的形式将任何非ASCII主机名返回。

]($docs-qbytearray.html)

此功能相当于调用QUrl.toAce( )上的返回值host( ) 。

此功能被引入Qt的4.4 。

See also setEncodedHost( ) 。

  1. QByteArray QUrl.encodedPassword (self)

返回如果它被定义URL的密码,否则一个空字符串返回。返回的值将拥有非ASCII和其他控制字符百分比编码,如toEncoded( ) 。

此功能被引入Qt的4.4 。

See also setEncodedPassword()和toEncoded( ) 。

  1. QByteArray QUrl.encodedPath (self)

返回如果它被定义URL的路径,否则返回空字符串。返回的值将拥有非ASCII和其他控制字符百分比编码,如toEncoded( ) 。

此功能被引入Qt的4.4 。

See also setEncodedPath()和toEncoded( ) 。

  1. QByteArray QUrl.encodedQuery (self)

[

返回百分比编码形式的URL查询字符串。

]($docs-qbytearray.html)

See also setEncodedQuery( ) 。

  1. list-of-tuple-of-QByteArray-QByteArray QUrl.encodedQueryItems (self)

返回URL的查询字符串,如编码键和值的映射。

此功能被引入Qt的4.4 。

See also setEncodedQueryItems( )setQueryItems()和setEncodedQuery( ) 。

  1. QByteArray QUrl.encodedQueryItemValue (self, QByteArray key)

[

返回第一个查询字符串值,其关键是等于key从URL中。

注意:如果该编码key不匹配查询的编码版本,此功能将无法正常工作。也就是说,如果该URL的编码查询“的搜索= Qt的% 20Rules ” ,调用这个函数key= “ % 73earch ”将返回一个空字符串。

此功能被引入Qt的4.4 。

]($docs-qbytearray.html)

See also queryItemValue()和allQueryItemValues( ) 。

  1. QByteArray QUrl.encodedUserName (self)

返回如果它被定义URL的用户名;否则返回空字符串。返回的值将拥有非ASCII和其他控制字符百分比编码,如toEncoded( ) 。

此功能被引入Qt的4.4 。

See also setEncodedUserName( ) 。

  1. QString QUrl.errorString (self)

返回解释了为什么一个URL是在这样的情况下无效的文本字符串,否则返回一个空字符串。

这个函数中引入了Qt 4.2中。

  1. QString QUrl.fragment (self)

返回URL的片段。

See also setFragment( ) 。

  1. QString QUrl.fromAce (QByteArray)

返回Unicode形式给定的域名domain,它被编码为ASCII兼容性编码(ACE)。此函数的结果被认为是等同于domain

如果该值在domain可以不进行编码,它会被转换为QString并返回。

该ASCII兼容性编码(ACE )是由RFC 3490 , RFC 3491和RFC 3492中定义。它是国际化域名的应用( IDNA )规范,它允许域名(如部分"example.com")使用国际字符写入。

这个函数中引入了Qt 4.2中。

  1. QUrl QUrl.fromEncoded (QByteArray url)

解析input并返回相应的QUrlinput被假定为以编码形式,只包含ASCII字符。

URL是使用分析TolerantMode

See also toEncoded()和setUrl( ) 。

  1. QUrl QUrl.fromEncoded (QByteArray url, ParsingMode mode)

[

这是一个重载函数。

解析使用URLparsingMode

]($docs-qurl.html)

See also toEncoded()和setUrl( ) 。

  1. QUrl QUrl.fromLocalFile (QString localfile)

返回QUrl代表性localFile,解释为一个本地文件。这个函数接受由斜线以及本地分隔这个平台分隔的路径。

这个函数还接受了一倍,领先的斜杠(或反斜杠)的路径来表示一个远程文件,如“ / /服务器名/路径/到/ file.txt的” 。请注意,只有某些平台上可以使用实际打开该文件QFile.open( ) 。

See also toLocalFile( )isLocalFile()和QDir.toNativeSeparators( ) 。

  1. QString QUrl.fromPercentEncoding (QByteArray)

返回一个解码副本inputinput首先从百分之编码解码,然后转换从UTF-8转换为Unicode 。

  1. QString QUrl.fromPunycode (QByteArray)
  1. QUrl QUrl.fromUserInput (QString userInput)

从提供的用户返回一个有效的URLuserInput字符串如果一个人可以扣除。在这是不可能的,无效的情况下QUrl( )返回。

最能够浏览Web应用程序,允许用户输入在一个普通的字符串形式的URL。这个字符串可以手动输入到地址栏,从剪贴板获得,或通过命令行参数传递。

当该字符串是不是已经是一个有效的URL ,一个最好的猜测是执行,使各种网络相关的假设。

在该情况下,字符串对应于该系统上的一个有效的文件路径,文件:/ / URL构造,使用QUrl.fromLocalFile( ) 。

如果不是这种情况,试图把串入一个http://或ftp:// URL协议。在该情况下,后者的字符串开头是’ftp ‘ 。结果,然后通过传递QUrl的宽容解析器,并在案件或成功,有效的QUrl返回,否则一QUrl( ) 。

Examples:

  • qt.nokia.com becomes http://qt.nokia.com
  • ftp.qt.nokia.com becomes ftp://ftp.qt.nokia.com
  • hostname becomes http://hostname
  • /home/user/test.html becomes file:///home/user/test.html

此功能被引入Qt的4.6 。

  1. bool QUrl.hasEncodedQueryItem (self, QByteArray key)

返回True如果有一个查询字符串对,其关键是等于key从URL中。

注意:如果该编码key不匹配查询的编码版本,这个函数将返回False 。也就是说,如果该URL的编码查询“的搜索= Qt的% 20Rules ” ,调用这个函数key= “ % 73earch ”将返回False 。

此功能被引入Qt的4.4 。

See also hasQueryItem( ) 。

  1. bool QUrl.hasFragment (self)

返回True如果该URL包含一个片段(例如,如果# ,看到就可以了) 。

这个函数中引入了Qt 4.2中。

See also fragment()和setFragment( ) 。

  1. bool QUrl.hasQuery (self)

返回True如果该URL包含查询(即,如果?被认为就可以了) 。

这个函数中引入了Qt 4.2中。

See also hasQueryItem()和encodedQuery( ) 。

  1. bool QUrl.hasQueryItem (self, QString key)

返回True如果有一个查询字符串对,其关键是等于key从URL中。

See also hasEncodedQueryItem( ) 。

  1. QString QUrl.host (self)

返回如果它被定义URL的主机;否则返回空字符串。

See also setHost( ) 。

  1. QStringList QUrl.idnWhitelist ()

返回被允许有非ASCII字符在他们的作文顶级域的当前白名单。

See setIdnWhitelist( )就本列表的理由。

这个函数中引入了Qt 4.2中。

See also setIdnWhitelist( ) 。

  1. bool QUrl.isDetached (self)
  1. bool QUrl.isEmpty (self)

返回True如果URL中没有数据,否则返回False 。

  1. bool QUrl.isLocalFile (self)

返回True如果这个URL是指向一个本地文件路径。 URL是本地文件路径,如果该计划是“文件” 。

注意,这个函数考虑的URL与主机名是本地文件路径,即使最终的文件路径不能打开QFile.open( ) 。

此功能被引入Qt的4.8 。

See also fromLocalFile()和toLocalFile( ) 。

  1. bool QUrl.isParentOf (self, QUrl url)

返回True如果这个URL是父childUrlchildUrl这是URL的孩子,如果两个URL共享相同的方案和权威,这个URL的路径是路径的父childUrl

  1. bool QUrl.isRelative (self)

返回True如果该URL是相对的,否则返回False 。 URL是相对的,如果它的方案是不确定的,因此这个函数相当于调用scheme( ) 。isEmpty( ) 。

  1. bool QUrl.isValid (self)

返回True如果该URL是有效的,否则返回False 。

该URL通过一致性测试运行。 URL的每一个部分都必须符合报告为有效的URL的URI标准的标准编码规则。

  1. bool checkUrl(const [QUrl]($docs-qurl.html) &url) {
  2. if (!url.isValid()) {
  3. qDebug([QString]($docs-qstring.html)("Invalid URL: %1").arg(url.toString()));
  4. return false;
  5. }
  6. return true;
  7. }
  1. QString QUrl.password (self)

返回如果它被定义URL的密码,否则一个空字符串返回。

See also setPassword( ) 。

  1. QString QUrl.path (self)
  1. int QUrl.port (self)

返回URL的端口,或-1,如果该端口是不确定的。

See also setPort( ) 。

  1. int QUrl.port (self, int defaultPort)

这是一个重载函数。

返回URL的端口,或defaultPort如果端口是不确定的。

例如:

  1. [QFtp](qftp.html) ftp;
  2. ftp.connectToHost(url.host(), url.port(21));

这个函数是Qt 4.1中引入。

  1. list-of-tuple-of-QString-QString QUrl.queryItems (self)

返回URL的查询字符串作为键和值的映射。

Note:此方法不解码的空间加号(+ )符号空格( ASCII码0X20 ) ,如HTML表单做。如果你需要这种解码,则必须使用QUrl.encodedQueryItems和自己解码数据。

See also setQueryItems()和setEncodedQuery( ) 。

  1. QString QUrl.queryItemValue (self, QString key)

返回第一个查询字符串值,其关键是等于key从URL中。

Note:此方法不解码的空间加号(+ )符号空格( ASCII码0X20 ) ,如HTML表单做。如果你需要这种解码,则必须使用QUrl.encodedQueryItemValue和自己解码数据。

See also allQueryItemValues( ) 。

  1. str QUrl.queryPairDelimiter (self)

返回用于在URL中的查询字符串键值对之间的分隔字符。

  1. str QUrl.queryValueDelimiter (self)

返回用于在URL中的查询字符串键和值之间的分隔字符。

  1. QUrl.removeAllEncodedQueryItems (self, QByteArray key)

删除所有的查询字符串对的关键是等于key从URL中。

注意:如果该编码key不匹配查询的编码版本,此功能将无法正常工作。也就是说,如果该URL的编码查询“的搜索= Qt的% 20Rules ” ,调用这个函数key= “ % 73earch ”不会做任何事。

此功能被引入Qt的4.4 。

See also removeQueryItem( ) 。

  1. QUrl.removeAllQueryItems (self, QString key)

删除所有的查询字符串对的关键是等于key从URL中。

See also removeQueryItem( ) 。

  1. QUrl.removeEncodedQueryItem (self, QByteArray key)

删除第一个查询字符串对,其关键是等于key从URL中。

注意:如果该编码key不匹配查询的编码版本,此功能将无法正常工作。也就是说,如果该URL的编码查询“的搜索= Qt的% 20Rules ” ,调用这个函数key= “ % 73earch ”不会做任何事。

此功能被引入Qt的4.4 。

See also removeQueryItem()和removeAllQueryItems( ) 。

  1. QUrl.removeQueryItem (self, QString key)

删除第一个查询字符串对,其关键是等于key从URL中。

See also removeAllQueryItems( ) 。

  1. QUrl QUrl.resolved (self, QUrl relative)

[

返回此URL的合并的结果与relative。这个URL被用作基础来转换relative一个绝对URL 。

If relative是不是一个相对的URL ,这个函数将返回relative直接。否则,这两个URL的路径被合并,并返回该新URL的基URL的方案和权威,但合并后的路径,如下面的例子:

]($docs-qurl.html)

  1. QUrl baseUrl("http://qt.nokia.com/support");
  2. [QUrl]($docs-qurl.html) relativeUrl("../products/solutions");
  3. qDebug(baseUrl.resolved(relativeUrl).toString());
  4. // prints "http://qt.nokia.com/products/solutions"

呼叫解决( )与“..”返回QUrl其目录是比原来更高一层。同样,调用解析( )用“ .. / .. ”从路径中移除两个层次。如果relative是“/” ,路径变为“/”。

See also isRelative( ) 。

  1. QString QUrl.scheme (self)

返回URL的方案。如果返回一个空字符串,这意味着该计划是不确定的,网址是那么相对的。

See also setScheme()和isRelative( ) 。

  1. QUrl.setAuthority (self, QString authority)

设置URL的权限authority

URL的权限是用户信息,主机名和端口的组合。所有这些元素都是可选的,因此一个空的权力是有效的。

用户信息和主机是通过一个“分开@“:” ,并在主机和端口通过一个分离“ 。如果用户信息是空的,则’@“必须省略,虽然流浪’:’是允许的,如果该端口为空。

下面的例子显示了一个有效的权威字符串:

QUrl Class Reference - 图1

See also authority( ) 。

  1. QUrl.setEncodedFragment (self, QByteArray fragment)

设定URL的片段的百分比编码fragment。该片段是URL的最后部分,通过一个“#”后面字符的字符串来表示。它通常用于在HTTP进行指的是页面上的某条链路或点:

QUrl Class Reference - 图2

的片段,有时也被称为URL为“参考” 。

通过QByteArray中(的说法) (空QByteArray)将取消设置的片段。传递的参数QByteArray( “”) (空但不为空QByteArray)将设置片段为空字符串(就像原始的URL了一个孤独的“#” ) 。

此功能被引入Qt的4.4 。

See also setFragment()和encodedFragment( ) 。

  1. QUrl.setEncodedHost (self, QByteArray host)

设定URL的主机与ACE -或百分比编码host。该host是在URL的权限的用户信息元素的一部分,如描述setAuthority( ) 。

此功能被引入Qt的4.4 。

See also setHost( )encodedHost( )setAuthority()和fromAce( ) 。

  1. QUrl.setEncodedPassword (self, QByteArray password)

设定URL的密码,以百分比编码password。该password是在URL的权限的用户信息元素的一部分,如描述setUserInfo( ) 。

注:此功能不会验证password被正确编码。它是调用者的责任,以确保任何分隔符(如冒号或斜线)被正确编码。

此功能被引入Qt的4.4 。

See also setPassword( )encodedPassword()和setUserInfo( ) 。

  1. QUrl.setEncodedPath (self, QByteArray path)

设定URL的路径百分比编码path。该路径是自带的权威之后,但在查询字符串之前的URL的一部分。

QUrl Class Reference - 图3

对于非分层方案,路径将是一切按照计划的声明,如下面的示例所示:

QUrl Class Reference - 图4

注:此功能不会验证path被正确编码。它是调用者的责任,以确保任何分隔符(如’?’和’#’ )被正确编码。

此功能被引入Qt的4.4 。

See also setPath( )encodedPath()和setUserInfo( ) 。

  1. QUrl.setEncodedQuery (self, QByteArray query)

URL的查询字符串设置为query。该字符串被插入原样,并且打电话时不进行任何进一步的编码toEncoded( ) 。

如果你需要传递一个不适合的键 - 值模式的查询字符串,此功能非常有用,或者使用不同的方案进行编码特殊字符,比什么建议由QUrl

通过QByteArray中的(值)至query(空QByteArray)完全取消设置的查询。然而,路过的值QByteArray( “”)将查询设置为空值,因为如果原始URL有一个孤独的“ ? ” 。

See also encodedQuery()和hasQuery( ) 。

  1. QUrl.setEncodedQueryItems (self, list-of-tuple-of-QByteArray-QByteArray query)

URL的查询字符串设置为的编码版本query。的内容query被转换为字符串内部,每对由pairDelimiter ( )返回的字符,键和值分隔由valueDelimiter (分隔) 。

注:此功能不确认键 - 值对的编码正确。它是调用者的责任,以确保查询的分隔符的编码正确,如果有的话。

此功能被引入Qt的4.4 。

See also setQueryDelimiters( )encodedQueryItems()和setQueryItems( ) 。

  1. QUrl.setEncodedUrl (self, QByteArray url)

通过解析的内容构造一个URLencodedUrl

encodedUrl被假定为一个URL字符串的百分比编码形式,只包含ASCII字符。

使用isValid( ) ,以确定是否一个有效的URL构建。

See also setUrl( ) 。

  1. QUrl.setEncodedUrl (self, QByteArray url, ParsingMode mode)

通过解析的内容构造一个URLencodedUrl使用给定的parsingMode

  1. QUrl.setEncodedUserName (self, QByteArray userName)

设定URL的用户名的百分比编码userName。该userName是在URL的权限的用户信息元素的一部分,如描述setUserInfo( ) 。

注:此功能不会验证userName被正确编码。它是调用者的责任,以确保任何分隔符(如冒号或斜线)被正确编码。

此功能被引入Qt的4.4 。

See also setUserName( )encodedUserName()和setUserInfo( ) 。

  1. QUrl.setFragment (self, QString fragment)

设置URL的片段fragment。该片段是URL的最后部分,通过一个“#”后面字符的字符串来表示。它通常用于在HTTP进行指的是页面上的某条链路或点:

QUrl Class Reference - 图5

的片段,有时也被称为URL为“参考” 。

路过的QString (的说法) (空QString)将取消设置的片段。传递的参数QString( “”) (空但不为空QString)将设置片段为空字符串(就像原始的URL了一个孤独的“#” ) 。

See also fragment()和hasFragment( ) 。

  1. QUrl.setHost (self, QString host)

设置URL的主机host。主机是权威的一部分。

See also host()和setAuthority( ) 。

  1. QUrl.setIdnWhitelist (QStringList)

集顶级域名(TLD )中被允许有非ASCII字符的域值的白名单list

请注意,如果你调用这个函数,你需要做这样\em你开始可能访问任何线程之前idnWhitelist( ) 。

Qt拥有自带包含已发布国际化域名(IDN )和规则的支持,以保证没有欺骗同样可以看的字符(如拉丁小写字母之间发生的互联网顶级域的默认列表'a'和西里尔当量,这在大多数字体是视觉上相同) 。

这份清单会定期维护,如登记发布新规则。

这个功能是为那些谁需要操作的列表,以添加或删除顶级域名。这是不建议改变其用途以外的其他测试值,因为它可能会暴露用户的安全风险。

这个函数中引入了Qt 4.2中。

See also idnWhitelist( ) 。

  1. QUrl.setPassword (self, QString password)

设定URL的密码password。该password是在URL的权限的用户信息元素的一部分,如描述setUserInfo( ) 。

See also password()和setUserInfo( ) 。

  1. QUrl.setPath (self, QString path)

设置的URL的路径path。该路径是自带的权威之后,但在查询字符串之前的URL的一部分。

QUrl Class Reference - 图6

对于非分层方案,路径将是一切按照计划的声明,如下面的示例所示:

QUrl Class Reference - 图7

See also path( ) 。

  1. QUrl.setPort (self, int port)

设置URL的端口port。该港口是URL的权威的一部分,如描述setAuthority( ) 。

port必须在0到65535之间的包容性。端口设置为-1表示该端口是不确定的。

See also port( ) 。

  1. QUrl.setQueryDelimiters (self, str valueDelimiter, str pairDelimiter)

设置用于键和值之间的分隔字符,并在URL的查询字符串键值对之间。默认值为分隔符是“=” ,默认对分隔符是“&” 。

QUrl Class Reference - 图8

valueDelimiter将用于从值分离键和pairDelimiter将用于单独的键 - 值对。在查询字符串中的键和值的编码表示这些分隔字符出现的所有百分比编码。

If valueDelimiter被设置为“ - ”和pairDelimiter是’/‘ ,上面的查询字符串将代替来表示是这样的:

  1. http://www.example.com/cgi-bin/drawgraph.cgi?type-pie/color-green

调用此函数不改变目前的查询字符串的分隔符。它只会影响queryItems( )setQueryItems()和addQueryItems () 。

  1. QUrl.setQueryItems (self, list-of-tuple-of-QString-QString query)

URL的查询字符串设置为的编码版本query。的内容query被转换为字符串内部,每对由pairDelimiter ( )返回的字符,键和值分隔由valueDelimiter (分隔) 。

Note:此方法不编码空格( ASCII码0X20 )为加号(+ )标志,就像HTML表单做。如果你需要这种编码方式,你必须自己编码值,并使用QUrl.setEncodedQueryItems 。

See also setQueryDelimiters( )queryItems()和setEncodedQueryItems( ) 。

  1. QUrl.setScheme (self, QString scheme)

设置URL的计划scheme。作为一个方案只能包含ASCII字符,没有转换或编码完成对输入。

该计划描述了URL的类型(或协议) 。 “:”它是由一个或多个ASCII字符,在开始的URL ,并且后跟一个表示。下面的例子显示了一个URL如该计划是“ ftp”的:

QUrl Class Reference - 图9

该方案还可以是空的,在这种情况下该URL被解释为相。

See also scheme()和isRelative( ) 。

  1. QUrl.setUrl (self, QString url)

通过解析的内容构造一个URLurl

url被假定为Unicode格式,不带%的编码。

调用isValid( )会告诉一个有效的URL是否被建造。

See also setEncodedUrl( ) 。

  1. QUrl.setUrl (self, QString url, ParsingMode mode)

这是一个重载函数。

解析url使用该模式解析parsingMode

See also setEncodedUrl( ) 。

  1. QUrl.setUserInfo (self, QString userInfo)

设置URL的用户信息来userInfo。用户信息是URL的权威的可选部分,如第setAuthority().

用户信息包括用户名和任选的密码,由一个分离的“:” 。如果密码是空的,结肠必须被省略。下面的例子显示了一个有效的用户信息字符串:

QUrl Class Reference - 图10

See also userInfo( )setUserName( )setPassword()和setAuthority( ) 。

  1. QUrl.setUserName (self, QString userName)

设定URL的用户名userName。该userName是在URL的权限的用户信息元素的一部分,如描述setUserInfo( ) 。

See also setEncodedUserName( )userName()和setUserInfo( ) 。

  1. QUrl.swap (self, QUrl other)

交换链接other与此URL 。这个操作是非常快的,而且永远不会。

此功能被引入Qt的4.8 。

  1. QByteArray QUrl.toAce (QString)

[

返回给定域名的ASCII兼容编码domain。此函数的结果被认为是等同于domain

将ASCII兼容编码(ACE )是由RFC 3490 , RFC 3491和RFC 3492中定义。它是国际化域名的应用( IDNA )规范,它允许域名(如部分"example.com")使用国际字符写入。

这个函数返回一个空QByteArra如果domain是不是一个有效的主机名。请注意,特别是IPv6文本不是有效的域名。

这个函数中引入了Qt 4.2中。

]($docs-qbytearray.html)

  1. QByteArray QUrl.toEncoded (self, FormattingOptions options = QUrl.None)

返回URL的编码表示,如果是有效的,否则空QByteArray返回。该输出可以通过传递标志与定制options

用户信息,路径和片段都转换为UTF- 8 ,而所有非ASCII字符,然后%的编码。主机名是使用Punycode的编码。

  1. QString QUrl.toLocalFile (self)

返回URL格式化为一个本地文件路径的路径。返回的路径将使用正斜杠,即使它最初是从一个与反斜杠创建。

如果这个URL中包含一个非空主机名,它会被编码的返回值在中小企业网络(例如, “ / /服务器名/路径/到/ file.txt的” )发现的形式。

如果这是一个相对URL ,在Qt 4.x的这个函数返回的路径,以保持向后兼容性。这将改变从5.0起。那么路径是唯一的网址如该计划是“文件”返回,并为所有其他URL的返回空字符串。

See also fromLocalFile()和isLocalFile( ) 。

  1. QByteArray QUrl.toPercentEncoding (QString input, QByteArray exclude = QByteArray(), QByteArray include = QByteArray())

[

返回的编码副本inputinput首先被转化为UTF -8 ,和所有的ASCII字符是不是在毫无保留的组是百分之编码。为了防止字符被编码的百分之通过他们来exclude。要强制字符是百分比编码传递给他们include

]($docs-qbytearray.html)

未保留的定义是: ALPHA / DIGIT /“ - ”/“。 ” / “_“/” 〜“

  1. [QByteArray]($docs-qbytearray.html) ba = [QUrl]($docs-qurl.html).toPercentEncoding("{a fishy string?}", "{}", "s");
  2. qDebug(ba.constData());
  3. // prints "{a fi%73hy %73tring%3F}"
  1. QString QUrl.topLevelDomain (self)

返回URL的TLD (顶级域名) , (如。 co.uk , 。净额) 。请注意,返回值前面带一个“。”除非该网址没有包含有效的顶级域名,在这种情况下,函数返回一个空字符串。

此功能被引入Qt的4.8 。

  1. QByteArray QUrl.toPunycode (QString)

[

  1. QString QUrl.toString (self, FormattingOptions options = QUrl.None)

返回URL的人显示的字符串表示形式。该输出可以通过传递标志与定制options

]($docs-qbytearray.html)

See also FormattingOptionstoEncoded( ) 。

  1. QString QUrl.userInfo (self)

返回URL的用户信息,或空字符串,如果用户信息是不确定的。

See also setUserInfo( ) 。

  1. QString QUrl.userName (self)

返回如果它被定义URL的用户名;否则返回空字符串。

See also setUserName()和encodedUserName( ) 。

  1. bool QUrl.__eq__ (self, QUrl url)
  1. bool QUrl.__ge__ (self, QUrl url)
  1. int QUrl.__hash__ (self)
  1. bool QUrl.__lt__ (self, QUrl url)
  1. bool QUrl.__ne__ (self, QUrl url)
  1. str QUrl.__repr__ (self)