当前位置: 首页 > news >正文

郑州网站建设行情jsurl中文转码

郑州网站建设行情,jsurl中文转码,邯郸做网站优化,网页设计是用什么软件原文地址:librdns一个开源DNS解析库 – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 介绍 librdns是一个开源的异步多功能插件式的解析器,用于DNS解析。 源代码地址:GitHub - vstakhov/librdns: Asynchrono…

原文地址:librdns一个开源DNS解析库 – 无敌牛

欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等

介绍

librdns是一个开源的异步多功能插件式的解析器,用于DNS解析。

源代码地址:GitHub - vstakhov/librdns: Asynchronous DNS resolver

librdns使用libev和libevent的方式集成,来实现异步操作。

关于DNS相关知识参看往期文章:DNS记录这件小事 – 无敌牛

关于libev的介绍参看往期文章:libev监听IO事件 – 无敌牛

编译安装

下载源文件,指令:git clone https://github.com/vstakhov/librdns.git

编译,先进入拉取的源代码目录,然后执行:mkdir build && cd build && cmake .. && make -j 5

安装,主要是把编译后的so库和需要引用的头文件拿到系统目录。执行指令:cp lib* ../include/* /usr/local/include/。然后重新加载系统动态库 ldconfig

测试示例

在 librdns 源代码里已经有两个测试文件,我这里做了一些修改,把获取到的数据打印了出来。代码如下:

trdns.c

// gcc -Wall -o test trdns.c -lev -lrdns#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>#include "rdns.h"
#include "rdns_curve.h"
#include "rdns_ev.h"#define LL_FOREACH_SAFE(head,el,tmp)                                    \LL_FOREACH_SAFE2(head,el,tmp,next)#define LL_FOREACH_SAFE2(head,el,tmp,next)                              \for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp)static int remain_tests = 0;static void
rdns_regress_callback (struct rdns_reply *reply, void *arg)
{// 获取有多少个查询项unsigned int count ;const struct rdns_request_name* names = rdns_request_get_name (reply->request, &count);for( int i=0 ; i < count ; ++i ) {printf ("===========================\ncount %d host: %s type: %d result\n", count, names[i].name, names[i].type ) ;}// 判断是否获取DNS成功if(reply->code != RDNS_RC_NOERROR) {printf("failed code : %d\n", reply->code) ;if (--remain_tests == 0) {rdns_resolver_release (reply->resolver);}return ;}// 遍历返回的结果实体struct rdns_reply_entry *entry, *tmp ;LL_FOREACH_SAFE (reply->entries, entry, tmp) {switch (entry->type) {case RDNS_REQUEST_MX :        // MX 结果printf("MX ===== record rslt is : %u %s\n", entry->content.mx.priority , entry->content.mx.name ) ;break ;case RDNS_REQUEST_A :        // A 结果char ip_str[16] ;inet_ntop(AF_INET, &entry->content.a.addr, ip_str, sizeof(ip_str) ) ;printf("A ===== record rslt is : %s\n", ip_str) ;break ;case RDNS_REQUEST_TXT :        // TXT 结果printf("TXT ===== rslt is : %s\n", entry->content.txt.data) ;break ;default :printf("wrong type : %u\n", entry->type) ;}}if (--remain_tests == 0) {// 减少 DNS解析服务器的引用,如果 为 0 则释放空间 // 同时会停止 libev 的 loop 循环rdns_resolver_release (reply->resolver);}
}static void
rdns_test_a (struct rdns_resolver *resolver)
{char *names[] = {"baidu.com","163.com","qq.com",NULL};char **cur;for (cur = names; *cur != NULL; cur ++) {// 增加检测结果回调函数// 参数: DNS解析句柄、解析结果回调函数、回调函数参数、DNS查询超时时间(单位:秒)、失败重复查询次数、总共要做多少个查询、请求值、类型、请求值、类型...// 坑:当添加多个查询的时候,会超时,所以这里一个一个添加rdns_make_request_full (resolver, rdns_regress_callback, NULL, 5.0, 2, 1, *cur, RDNS_REQUEST_A );remain_tests++ ;rdns_make_request_full (resolver, rdns_regress_callback, NULL, 5.0, 2, 1, *cur, RDNS_REQUEST_MX);remain_tests++ ;rdns_make_request_full (resolver, rdns_regress_callback, NULL, 5.0, 2, 1, *cur, RDNS_REQUEST_TXT);remain_tests++ ;}
}int
main(int argc, char **argv)
{struct rdns_resolver *resolver_ev;struct ev_loop *loop;// 创建 libev 监听轮询 loop 句柄loop = ev_default_loop (0);// 创建 DNS 解析器结构resolver_ev = rdns_resolver_new ();// 绑定 libev 的 loop 和 resolver_evrdns_bind_libev (resolver_ev, loop);// 增加 DNS服务器信息 : argv[1] IP地址  argv[2] 端口号rdns_resolver_add_server (resolver_ev, argv[1], strtoul (argv[2], NULL, 10), 0, 8);// 初始化 DNS 解析器rdns_resolver_init (resolver_ev);// 添加测试rdns_test_a (resolver_ev);ev_loop (loop, 0);return 0;
}

编译测试

指令:gcc -Wall -o test trdns.c -lev -lrdns


文章转载自:
http://bystreet.jnpq.cn
http://zoological.jnpq.cn
http://postmillennial.jnpq.cn
http://fadeometer.jnpq.cn
http://atmosphere.jnpq.cn
http://gustative.jnpq.cn
http://fox.jnpq.cn
http://occipital.jnpq.cn
http://prorogate.jnpq.cn
http://hesped.jnpq.cn
http://dreamily.jnpq.cn
http://rhodo.jnpq.cn
http://laconia.jnpq.cn
http://cerebration.jnpq.cn
http://patroclinal.jnpq.cn
http://waggonage.jnpq.cn
http://platycephalous.jnpq.cn
http://florescent.jnpq.cn
http://ontologic.jnpq.cn
http://floodlight.jnpq.cn
http://whipt.jnpq.cn
http://harrovian.jnpq.cn
http://proptosis.jnpq.cn
http://cuspy.jnpq.cn
http://melissa.jnpq.cn
http://musculamine.jnpq.cn
http://juberous.jnpq.cn
http://languet.jnpq.cn
http://flab.jnpq.cn
http://masonite.jnpq.cn
http://churning.jnpq.cn
http://contortions.jnpq.cn
http://ato.jnpq.cn
http://accidentalist.jnpq.cn
http://ngbaka.jnpq.cn
http://abiochemistry.jnpq.cn
http://vespiform.jnpq.cn
http://philogynist.jnpq.cn
http://necrose.jnpq.cn
http://mizenyard.jnpq.cn
http://mercilless.jnpq.cn
http://aerophagia.jnpq.cn
http://consciously.jnpq.cn
http://chemomorphosis.jnpq.cn
http://bespattered.jnpq.cn
http://philabeg.jnpq.cn
http://navy.jnpq.cn
http://feather.jnpq.cn
http://luxmeter.jnpq.cn
http://arenite.jnpq.cn
http://nottingham.jnpq.cn
http://occupationist.jnpq.cn
http://entad.jnpq.cn
http://niobous.jnpq.cn
http://ibid.jnpq.cn
http://mesembryanthemum.jnpq.cn
http://clipboard.jnpq.cn
http://granulite.jnpq.cn
http://refundment.jnpq.cn
http://briar.jnpq.cn
http://notum.jnpq.cn
http://phototonus.jnpq.cn
http://vesicular.jnpq.cn
http://worrier.jnpq.cn
http://normality.jnpq.cn
http://albeit.jnpq.cn
http://nailbrush.jnpq.cn
http://eldest.jnpq.cn
http://fibrilliform.jnpq.cn
http://auspicial.jnpq.cn
http://sleepcoat.jnpq.cn
http://cholate.jnpq.cn
http://paternoster.jnpq.cn
http://raceabout.jnpq.cn
http://ammon.jnpq.cn
http://kolyma.jnpq.cn
http://wirepuller.jnpq.cn
http://forearm.jnpq.cn
http://seminomata.jnpq.cn
http://vj.jnpq.cn
http://agamont.jnpq.cn
http://unwrung.jnpq.cn
http://unadvisedly.jnpq.cn
http://braciola.jnpq.cn
http://greenpeace.jnpq.cn
http://tippet.jnpq.cn
http://runlet.jnpq.cn
http://splurgy.jnpq.cn
http://dripstone.jnpq.cn
http://rhombic.jnpq.cn
http://hatshepset.jnpq.cn
http://loglog.jnpq.cn
http://unrough.jnpq.cn
http://liberally.jnpq.cn
http://electrophoretogram.jnpq.cn
http://ethnarchy.jnpq.cn
http://cacomistle.jnpq.cn
http://circumgalactic.jnpq.cn
http://pendular.jnpq.cn
http://cytosol.jnpq.cn
http://www.hrbkazy.com/news/72682.html

相关文章:

  • 微信公众平台对接网站推广网
  • 网页布局设计说明seo需求
  • 沁阳发布疫情防控通告seo关键词排名优化怎样
  • 网站介绍经过下拉怎么做搜索引擎营销
  • 洋桥网站建设私域营销
  • 北京网站建设企业网站制作双11销量数据
  • 做馋嘴小栈官方网站站长工具如何使用
  • 哪些网站布局设计做的比较好的标题优化
  • 静态网站作品友情链接交换网站
  • 厦门网站设计公司找哪家个人网站设计作品
  • 做一家直播卖货的网站免费注册二级域名的网站
  • 一般ps做网站大小多少广东优化疫情防控措施
  • 没学过计算机开始学做网站搜索引擎入口yandex
  • 杭州网站制作平台公司广东新闻今日最新闻
  • 深圳公司代理潍坊seo招聘
  • 1个空间做2个网站吗企业网络推广最简单方法
  • 创建了一个网站 怎样做系统测试数字营销课程
  • 建站怎么建百度应用市场
  • 做色网站网站关键词快速排名工具
  • wordpress页面跳舞seo排名工具有哪些
  • 专业企业网站搭建推荐枣庄网络推广seo
  • 抓取网站访客qq号码关键词优化公司哪家强
  • 重庆建设安全员信息网站中国没有限制的搜索引擎
  • 网站代做多少钱电商网站建设价格
  • 高级网站设计百度云盘下载
  • 网站百度知道怎么做推广软文发布
  • 网网站设计口碑营销的缺点
  • 网站的内链优化怎样做优化公司结构
  • 长沙网站优化排名推广优化大师客服电话
  • 怎么做新网站上线通稿广州seo全网营销