![]() | 1 freestyler 2012-03-13 10:14:47 +08:00 标准库不是有嘛.. getaddrinfo gethostbyname |
2 phuslu OP @freestyler 这个函数可以指定dnsserver, 用来防止dns劫持。 |
3 bhuztez 2012-03-13 10:40:00 +08:00 推荐 dnspython http://www.dnspython.org/ |
4 phuslu OP 2012-03-13 10:46:10 +08:00 @bhuztez 这段代码是从最新版的goagent摘出来的,好处就不用引入额外的依赖。比较适合goagent对多平台支持的需求。 其实我觉得gevent的dns解析函数更好用,推荐一下。 可以看下这个链接的评论 http://blog.gevent.org/2011/04/28/libev-and-libevent/ |
![]() | 5 liruqi 2012-03-13 11:10:02 +08:00 1. 拜托把几个import 写一下.. 2. 有些query 仅返回 cname, 可能需要递归查询, 不知道是否有处理. 3. 我自己测试发现这个函数执行时间很长啊 4. 给一个西厢代理初始版本的代码 https://gist.github.com/2026329 也是自己实现的dns query, 大体上来讲, 还是不如第三方库稳定. |
6 phuslu OP @liruqi 1. 恩,加上了。 2. 这个就依赖具体的host和dnsserver了,在goagent还可以用hosts机制事前指定 3. 是走的tcp,goagent不过在上层做了cache,和本身的Host机制结合很好。 4. 恩,谢谢。 |
7 phuslu OP 目前的话,dns查询走tcp还是一个比较不错的办法。因为不会有dns投毒了。 虽然比udp慢些,但是一旦上层做了缓存,那么函数本身的效率就可以忽略了。 |
8 monkeylyf 2012-10-02 00:50:33 +08:00 mark学习之. 之前用adns module写过一个. |
![]() | 9 Livid MOD PRO |
![]() | 10 liruqi 2012-10-02 01:26:05 +08:00 样式略有错乱。 宽屏下可以考虑把页面宽度放大。 |
11 clowwindy 2012-10-02 09:16:54 +08:00 谢谢分享。gethostbyname 万恶的地方就在于它是阻塞的。 |
![]() | 13 ayanamist 2012-10-03 15:30:26 +08:00 楼主,try finally里是可以没有except的……你不想处理,就去掉那无用的except Exception吧…… 发现你很喜欢写except: xxx这样的代码,哪怕实际上不需要。 |
![]() | 14 ccp0101 2012-10-03 22:15:08 +08:00 @liruqi 最近实现的Kernet替代,可以看看否? https://github.com/ccp0101/west-chamber-mac |
18 asanailiulang 2013-06-20 09:37:51 +08:00 试了一下,其他的DNS服务器好像不支持~~ |