更新 doh.py

This commit is contained in:
jxxghp 2024-03-17 23:40:19 +08:00 committed by GitHub
parent 6e2f5762b4
commit c03f24dcf5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -111,11 +111,11 @@ def _doh_query(resolver: str, host: str) -> Optional[str]:
b64message = base64.b64encode(message).decode("utf-8").rstrip("=") b64message = base64.b64encode(message).decode("utf-8").rstrip("=")
url = f"https://{resolver}/dns-query?dns={b64message}" url = f"https://{resolver}/dns-query?dns={b64message}"
headers = {"Content-Type": "application/dns-message"} headers = {"Content-Type": "application/dns-message"}
logger.info("DoH请求: %s", url) logger.debug("DoH请求: %s", url)
request = urllib.request.Request(url, headers=headers, method="GET") request = urllib.request.Request(url, headers=headers, method="GET")
with urllib.request.urlopen(request, timeout=_doh_timeout) as response: with urllib.request.urlopen(request, timeout=_doh_timeout) as response:
logger.info("解析器(%s)响应: %s", resolver, response.status) logger.debug("解析器(%s)响应: %s", resolver, response.status)
if response.status != 200: if response.status != 200:
return None return None
resp_body = response.read() resp_body = response.read()
@ -138,11 +138,11 @@ def doh_query_json(resolver: str, host: str) -> Optional[str]:
""" """
url = f"https://{resolver}/dns-query?name={host}&type=A" url = f"https://{resolver}/dns-query?name={host}&type=A"
headers = {"Accept": "application/dns-json"} headers = {"Accept": "application/dns-json"}
logger.info("DoH请求: %s", url) logger.debug("DoH请求: %s", url)
try: try:
request = urllib.request.Request(url, headers=headers, method="GET") request = urllib.request.Request(url, headers=headers, method="GET")
with urllib.request.urlopen(request, timeout=_doh_timeout) as response: with urllib.request.urlopen(request, timeout=_doh_timeout) as response:
logger.info("解析器(%s)响应: %s", resolver, response.status) logger.debug("解析器(%s)响应: %s", resolver, response.status)
if response.status != 200: if response.status != 200:
return None return None
response_body = response.read().decode("utf-8") response_body = response.read().decode("utf-8")