- class QDnsLookup#
QDnsLookup
类表示DNS查找。更多…摘要#
属性#
error
- 如果DNS查找失败,则发生的错误类型,或无错误errorString
- 如果DNS查找失败,错误的人类可读描述name
- 要查找的名称nameserver
- 用于DNS查找的nameservernameserverPort
- 用于DNS查找的nameserver的端口号type
- DNS查找的类型
方法#
def
__init__
def
error
def
errorString
def
isFinished
def
name
def
nameserver
def
nameserverPort
def
pointerRecords
def
serviceRecords
def
setName
定义
setType()
定义
type()
槽函数#
信号#
注意
本说明可能包含自动从C++翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单来告诉我们。
详细介绍#
警告
本节包含自动从C++翻译到Python的代码片段,可能包含错误。
QDnsLookup
使用操作系统提供的机制来执行DNS查找。要执行查找,您需要指定一个name
和type
,然后调用lookup()
槽。完成时将触发finished()
信号。例如,您可以使用以下方法确定XMPP聊天客户端应连接到给定域的哪些服务器:
def lookupServers(self): # Create a DNS lookup. dns = QDnsLookup(self) dns.finished.connect(self.handleServers) # Find the XMPP servers for gmail.com dns.setType(QDnsLookup.SRV) dns.setName("_xmpp-client._tcp.gmail.com") dns.lookup()
请求完成后,您可以使用以下方法处理结果:
def handleServers(self): # Check the lookup succeeded. if dns.error() != QDnsLookup.NoError: qWarning("DNS lookup failed") dns.deleteLater() return # Handle the results. records = dns.serviceRecords() for record in records: ... dns.deleteLater()
注意
如果您只想找到与主机名相关联的IP地址(或与IP地址相关联的主机名),请使用
QHostInfo
类代替。- class Error#
表示在DNS查找处理过程中发现的全部可能的错误条件。
常量
描述
QDnsLookup.NoError
无错误条件。
QDnsLookup.ResolverError
初始化系统DNS解析器时发生了错误。
QDnsLookup.OperationCancelledError
使用
abort()
方法终止了查找。QDnsLookup.InvalidRequestError
请求的DNS查找不合法。
QDnsLookup.InvalidReplyError
从服务器返回的回复无效。
QDnsLookup.ServerFailureError
服务器在处理请求时遇到内部错误(SERVFAIL)。
QDnsLookup.ServerRefusedError
由于安全或策略原因,服务器拒绝处理请求(REFUSED)。
QDnsLookup.NotFoundError
请求的域名不存在(NXDOMAIN)。
QDnsLookup.TimeoutError
服务器未及时响应或未在规定时间内回复(自6.6版本起)。
- class Type#
表示执行了哪种类型的DNS查找。
常量
描述
QDnsLookup.A
IPv4地址记录。
QDnsLookup.AAAA
IPv6地址记录。
QDnsLookup.ANY
任何记录。
QDnsLookup.CNAME
规范名称记录。
QDnsLookup.MX
邮件交换记录。
QDnsLookup.NS
域名服务器记录。
QDnsLookup.PTR
指针记录。
QDnsLookup.SRV
服务记录。
QDnsLookup.TXT
文本记录。
注意
当使用
from __feature__ import true_property
时,可以直接使用属性,否则通过访问函数来实现。- property error: QDnsLookup.Error#
此属性存储在DNS查找失败时发生的错误类型,或存储
NoError
。- 访问函数
信号
finished()
- property errorString: str#
此属性存储在DNS查找失败时的人读错误描述。
- 访问函数
信号
finished()
- property name: str#
此属性存储要查找的名称。
如果要查找的名称为空,则
QDnsLookup
将尝试解析DNS的根域名。此查询通常使用type
设置为NS
。注意
名称将使用IDNA进行编码,这意味着它不适用于查询符合DNS-SD规范的SRV记录。
- 访问函数
- 属性 nameserver: QHostAddress#
此属性用于持有用于DNS查找的名称服务器。
- 属性 nameserverPort: int#
此属性用于持有用于DNS查找的名称服务器的端口号。
注意
将端口号设置为除默认(53)以外的任何值可能导致名称解析失败,具体取决于操作系统的限制和防火墙。值得注意的是,
QDnsLookup
使用的Windows API无法处理备用端口号。- 属性 type: QDnsLookup.Type#
此属性用于持有DNS查找的类型。
- 访问函数
- __init__(type, name, nameserver[, parent=None])#
- 参数:
type –
Type
name – str
nameserver –
QHostAddress
parent –
QObject
创建一个用于查询记录类型为
type
的name
的QDnsLookup
对象,使用运行在默认 DNS 端口的 DNS 服务器nameserver
,并将parent
设置为父对象。- __init__(type, name, nameserver, port[, parent=None])
- 参数:
type –
Type
name – str
nameserver –
QHostAddress
port – int
parent –
QObject
创建一个用于查询记录类型为
type
的name
的QDnsLookup
对象,使用在端口port
运行的 DNS 服务器nameserver
,并将parent
设置为父对象。注意
将端口号设置为除默认(53)以外的任何值可能导致名称解析失败,具体取决于操作系统的限制和防火墙。值得注意的是,
QDnsLookup
使用的Windows API无法处理备用端口号。- __init__([parent=None])
- 参数:
parent –
QObject
创建一个
QDnsLookup
对象,并将parent
设置为父对象。创建一个针对给定
type
和name
的QDnsLookup
对象,并将parent
设置为父对象。- abort()#
中止 DNS 查询操作。
如果查询已完成,则不执行任何操作。
- canonicalNameRecords()#
- 返回类型:
. QDnsDomainNameRecord 的列表
返回与此次查找相关的规范名称记录列表。
属性
error
的获取器。- errorString()#
- 返回类型:
str
属性
errorString
的获取器。- finished()#
当响应完成处理时发出此信号。
属性
error
的通知信号。- hostAddressRecords()#
- 返回类型:
返回与此查找相关的主机地址记录列表。
- isFinished()#
- 返回类型:
bool
返回响应是否已完成或被取消。
- lookup()#
执行DNS查找。
完成时发出
finished()
信号。- mailExchangeRecords()#
- 返回类型:
返回与此次查找相关的邮件交换记录列表。
记录根据 RFC 5321 进行排序,因此如果您使用它们连接服务器,应按列表中的顺序尝试。
属性
name
的获取器。- nameChanged(name)#
- 参数:
name – str
当查找的
name
变化时发出此信号。name
是新的查找名称。属性
name
的通知信号。- nameServerRecords()#
- 返回类型:
. QDnsDomainNameRecord 的列表
返回与此次查找相关的域名服务器记录列表。
- nameserver()#
- 返回类型:
另请参阅
属性
nameserverᅟ
的获取器。- nameserverChanged(nameserver)#
- 参数:
nameserver –
QHostAddress
属性
nameserverᅟ
的通知信号。- nameserverPort()#
- 返回类型:
int
另请参阅
属性
nameserverPortᅟ
的获取器。- nameserverPortChanged(port)#
- 参数:
port – int
属性
nameserverPortᅟ
的通知信号。- pointerRecords()#
- 返回类型:
. QDnsDomainNameRecord 的列表
返回与此查找关联的指针记录列表。
- serviceRecords()#
- 返回类型:
返回与此查找关联的服务记录列表。
记录根据 RFC 2782 排序,因此如果您使用它们连接到服务器,请按列表顺序尝试它们。
属性
nameᅟ
的设置器。- setNameserver(nameserver)#
- 参数:
nameserver –
QHostAddress
另请参阅
属性
nameserverᅟ
的设置器。- setNameserver(nameserver, port)
- 参数:
nameserver –
QHostAddress
port – int
将名称服务器设置为
nameserver
并将端口号设置为port
。- setNameserverPort(port)#
- 参数:
port – int
另请参阅
属性
nameserverPortᅟ
的设置器。设置属性
type
.- textRecords()#
- 返回类型:
. QDnsTextRecord 列表
返回与此查找相关的文本记录列表。
获取属性
type
.当查找
type
发生变化时发出此信号。type
是新的查找类型。type
属性的通知信号。