NAPTR查询中Python奇怪的扬抑符(^)问题

2024-10-06 12:12:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python2实现一个服务器,它使用dnslib提供NAPTR DNS答案。你知道吗

伪造答案的格式如下:

0.0.0.0.0.0.0.e164.arpa. 60 IN NAPTR  20 20 "u" "SIP+E2U" "!^.*$!SIP:0000@whatever.0.0.e164!" .

我使用dig通过使用以下语法执行查询:

dig NAPTR 0.0.0.0.0.0.0.e164.arpa @<server_ip>

问题是,每当NAPTR记录的regexp部分包含扬抑符(^)时,dig将检索到的数据包标记为格式错误:

;; Got bad packet: syntax error

如果我从字符串中删除扬抑符,查询答案将被正确检索。 所以看来扬抑符被误判了。 我试着指定regexp.encode编码('utf-8'),但这并不能解决问题。 有什么想法吗?你知道吗


Tags: 答案in服务器dns格式语法arparegexp