def query(self, hostname, type='A', dnssec=True):
assert utils.validate_hostname(hostname)
assert utils.validate_rr_type(type)
if (type in ('PTR', RR['PTR']) and
not (hostname.endswith('.in-addr.arpa') or
hostname.endswith('.in-addr.arpa.'))):
hostname = '%s.in-addr.arpa' % (hostname)
params = self.build_params(hostname, type, dnssec)
url = '%s?%s' % (self.server, params)
req = self.session.request('GET', url,
headers=PublicDNS.default_headers)
resp = self.session.get_response(req)
if resp.status != 200:
raise InvalidHTTPStatusCode
body = resp.read()
json = load_json(body)
obj = utils.populate_response(json)
return obj
评论列表
文章目录