c-ares的python接口

pycares的Python项目详细描述


https://badge.fury.io/py/pycares.pnghttps://secure.travis-ci.org/saghul/pycares.png?branch=masterhttps://ci.appveyor.com/api/projects/status/vx1wbkfq3l7nm1m8?svg=true

pycares是一个python模块,它提供了一个到c-ares的接口。 c-ares是一个执行 DNS请求和名称解析是异步的。

捆绑C-Ares

pycares目前捆绑了c-ares,从pycares 1.0.0开始这是一个很强的需求。上游 c-ares不愿意申请a patch adding TTL support。 我确实在捆绑的C-Ares上应用了补丁,但不幸的是它破坏了ABI,所以尝试 使用系统提供的c-ares是不可能的。

安装

GNU/Linux、MacOS、Windows、其他:

pip install pycares

免费订阅:

cd /usr/ports/dns/py-pycares && make install

IDNA 2008支持

如果安装了idna包,pycares将支持idna 2008编码,否则将使用内置的idna编解码器, 它提供idna 2003支持。

您可以在安装时强制执行以下操作:

pip install pycares[idna]

运行测试套件

有几种运行测试结果的方法:

  • 使用当前的python解释器运行测试:

    从顶层目录运行:python tests/tests.py

  • 使用tox在多个virtualenv中运行测试套件,并使用多个解释器

    从顶层目录运行:tox -e py35,py36,py37这将运行测试套件 在Python3.5、3.6和3.7上(您需要事先安装它们)

从cli使用它,a la dig

此模块可以直接从命令行使用,方式与dig类似(当然是有限的):

$ python -m pycares google.com
;; QUESTION SECTION:
;google.com                  IN      A

;; ANSWER SECTION:
google.com           300     IN      A       172.217.17.142

$ python -m pycares mx google.com
;; QUESTION SECTION:
;google.com                  IN      MX

;; ANSWER SECTION:
google.com           600     IN      MX      50 alt4.aspmx.l.google.com
google.com           600     IN      MX      10 aspmx.l.google.com
google.com           600     IN      MX      40 alt3.aspmx.l.google.com
google.com           600     IN      MX      20 alt1.aspmx.l.google.com
google.com           600     IN      MX      30 alt2.aspmx.l.google.com

作者

萨尔伊巴拉科雷特格s@saghul.net>;

许可证

除非文件中另有说明,否则pycares使用mit许可证,请检查许可证文件。

支持的Python版本

支持python>;=3.5。cpython和pypy都受支持。

贡献

如果你想贡献自己的一份力量,那就分出一个项目,做一个补丁,然后发送一个pull 请求。看看周围的代码,请,让你的看起来 相似:—)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java类之间并发性不一致的HashMap   插件如何在JavaSwing中使用UIManager和Classloader从外部jar安装外观?   java JasperReports:找不到子报表   在项目中找不到java生成的Javadoc文件   java BigDecimal。multiply()和divide()方法返回十六进制数。为什么?   java统计出现次数并从字符串中删除重复项   调用运算符时发生java NullPointerException   Spring和Hibernate之间的java配置错误   JavaZK将用户重定向回上一页   Javasocket为传出连接指定特定的网络接口   如果拖动到某个区域外,java Make按钮操作将被取消   如何在Eclipse for selenium 3.141.59中添加Java文档链接   java从匹配条件的数组中获取所有索引   docker未连接到RemoteWebDriver的java Gitlab ci selenium测试   java重写run方法   utf 8如何使用java解码UTF8编码的字符串?   java如何从eclipse调试部署在tomcat上的web应用程序?   将字母字符与前面没有百分号的Java正则表达式匹配