Files
2026-07-13 12:31:34 +08:00

45 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import print_function, unicode_literals, absolute_import, division
import requests
from domain_admin.log import logger
USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
def search(domain, include_subdomains=True):
"""
查询 Cert Spotter 证书签发记录
:param domain: str
:param include_subdomains: bool
:return: list
"""
url = 'https://api.certspotter.com/v1/issuances'
params = {
'domain': domain,
'include_subdomains': 'true' if include_subdomains else 'false',
'expand': 'dns_names',
}
headers = {
'User-Agent': USER_AGENT
}
try:
req = requests.get(url=url, params=params, headers=headers, timeout=8)
except Exception:
logger.error('certspotter request failed: %s', domain)
return []
if not req.ok:
logger.warn('certspotter request not ok: status_code=%s', req.status_code)
return []
try:
return req.json()
except ValueError:
logger.warn('certspotter response is not json, status_code=%s', req.status_code)
return []