Atitit atiMail atiDns新特性 v2 q39
Atitit atiMail atiDns新特性 v2 q39
V1 实现了基础的功能
V2 重构..使用自然语言的方式
c.According_to_the_domain_name("chinanetcenter.com").query_MX_records().outputAsJson().print();
其他的计划
V3 高的性能重构..lambda框架
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
package com.attilax.lang.mail;
public class MxScannerGui {
public static void main(String[] args) {
MxScanner c=new MxScanner();
c.According_to_the_domain_name("chinanetcenter.com").query_MX_records().outputAsJson().print();
}
}
package com.attilax.lang.mail;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.attilax.io.filex;
import com.attilax.io.pathx;
import com.attilax.json.AtiJson;
import com.attilax.lang.CmdX;
/**
* com.attilax.lang.mail.MxScanner
* @author Administrator
*
*/
public class MxScanner {
public static void main(String[] args) throws IOException {
String f = pathx.classPathParent()+"\\dom.txt";
//args[0].trim();
String dir =pathx.classPathParent()+"\\result.txt";
//+ " args[1].trim();
List<String> domains = filex.read2list(f);
filex fx = new filex(dir);
for (String dom : domains) {
try {
String cmd = "nslookup -qt=mx 163.com";
cmd = cmd.replaceAll("163.com", dom);
String t = CmdX.exec(cmd);
List<String> mxs = getMxs(t);
for (String mx : mxs) {
String lin_new=dom+"----"+mx;
fx.appendLine_flush_safe(lin_new);
}
System.out.println(t);
} catch (Exception e) {
e.printStackTrace();
}
}
fx.close();
System.out.println("--f");
}
private static List<String> getMxs(String lookupAfterRetTxt) {
List<String> mxs = new ArrayList<String>();
String[] lines = lookupAfterRetTxt.split("\n");
for (String line : lines) {
try {
if (line.contains("MX preference")
&& line.contains("mail exchanger")) {
String[] a = line.split("=");
String mx = a[a.length - 1].trim();
mxs.add(mx);
}
} catch (Exception e) {
e.printStackTrace();
}
}
return mxs;
}
String domain;
public MxScanner According_to_the_domain_name(String string) {
domain=string;
return this;
}
public MxScanner query_MX_records() {
query_MX_records(this.domain);
return this;
}
private MxScanner query_MX_records(String domain2) {
String cmd = "nslookup -qt=mx 163.com";
cmd = cmd.replaceAll("163.com", domain2);
String t = CmdX.exec(cmd);
List<String> mxs = getMxs(t);
rzt=mxs;
return this;
}
Object rzt;
Object final_rzt;
public MxScanner outputAsJson() {
final_rzt= AtiJson.toJson(rzt);
return this;
}
public void print() {
System.out.println(this.final_rzt);
}
}
Atitit atiMail atiDns新特性 v2 q39的更多相关文章
- Atitit.aticmd v4 新特性q39 添加定时器释放功能
Atitit.aticmd v4 新特性q39 添加定时器释放功能 V1 实现兰cmd V2 标准输入,标准输出,标准错误与重新定向 V3 stdout stderr统一重新定向 V4 添加定 ...
- Atitit opencv版本新特性attilax总结
Atitit opencv版本新特性attilax总结 1.1. :OpenCV 3.0 发布,史上功能最全,速度最快的版1 1.2. 应用领域2 1.3. OPENCV2.4.3改进 2.4.2就有 ...
- Atitit s2018 s3 doc list alldvc.docx .docx s2018 s3f doc compc s2018 s3f doc homepc sum doc dvcCompc dtS312 s2018 s3f doc compc\Atitit PathUtil 工具新特性新版本 v8 s312.docx s2018 s3f doc compc\Atitit 操作日
Atitit s2018 s3 doc list alldvc.docx .docx s2018 s3f doc compc s2018 s3f doc homepc sum doc dvcCompc ...
- Atitit.cateService分类管理新特性与设计文档说明v1
Atitit.cateService分类管理新特性与设计文档说明v1 1. V2 新特性规划1 2. 分类管理1 3. 分类增加与修改维护2 4. Js控件分类数据绑定2 1. V2 新特性规划 增加 ...
- Atitit.linux 内核 新特性 新功能
Atitit.linux 内核 新特性 新功能 1. Linux 3.2内核新特性 2012-02-12 22:41:471 1.1. EXT4:支持更大的块2 1.2. BTRFS:更快的数据清理 ...
- Atitit.jquery 版本号新特性attilax总结
Atitit.jquery 版本号新特性attilax总结 1. Jq1.4 1 2. 1.5 1 3. 1.6 3 4. Jq1.7 3 ⒉提升了事件委派时的性能有了大幅度的提升.尤其是在ie7下: ...
- Atitit html5.1 新特性attilax总结
Atitit html5.1 新特性attilax总结 9. 嵌入 header 和 footer1 7. 校验表单1 6. 浏览器的上下文菜单2 1. 响应式图像2 Attilax觉得还不错的心特性 ...
- Atitit.jquery 版本新特性attilax总结
Atitit.jquery 版本新特性attilax总结 1. Jq1.4 1 2. 1.5 1 3. 1.6 3 4. Jq1.7 3 ⒉提升了事件委派时的性能有了大幅度的提升,尤其是在ie7下: ...
- Atitit. c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0 attilax总结
Atitit. c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0 attilax总结 1.1. C# 1.0-纯粹的面向对象 1.2. C# 2.0-泛型编程新概念 1.3. ...
随机推荐
- es 数据 导出 到 MySQL
暂时没有找到直接 导出到 mysql 数据库的工具 或者项目 目前实现思路: 使用 elasticdump 工具 实现 从 es 数据 导出到 json 文件 ,然后 使用 脚本程序 操作 改 js ...
- angualrjs2教程
1.一本本开源的Angular2书籍:https://zhangchen915.gitbooks.io/angular2-training/ 2.好的博客教程,讲的通俗易懂:http://codin. ...
- 设置MySQL数据库名不区分大小写
Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写: 1.用root登录,修改 /etc/my.cnf: 2.在[mysqld]节点下,加入一行: lowe ...
- 13、mha高可用架构搭建
各节点架构: 192.168.1.20(mysql5.5) master主库 192.168.1.21(mysql5.5) slave1,目标:主库宕可提升为主库 192.168.1.22(mysql ...
- flask-assets使用介绍
作用:对css.js静态文件进行打包,打包成一个文件,然后去除文件里的换行.空行等进行压缩: 而且 Flask-Assets 还会使用特定的 HTTP Response Header, 让浏览器缓存这 ...
- DWZ(一):框架初了解
DWZ富client框架(jQuery RIAframework),是中国人自己开发的基于jQuery实现的Ajax RIA开源框架. DWZ富client框架设计目标是简单有用.扩展方便.高速开发. ...
- javascript快速入门10--运算符,语句
一元运算符 一元运算符只有一个参数,即要操作的对象或值.它们是 ECMAScript 中最简单的运算符. delete 运算符删除对以前定义的对象属性或方法的引用.例如: var obj = new ...
- vulkan
https://gfxbench.com/device.jsp?benchmark=gfx40&os=Android&api=gl&D=Asus+ZenFone+4+%28Ad ...
- Agent是什么
广义的Agent包括人类.物理世界的机器人和信息世界的软件机器人. 狭义的Agent专指信息世界中的软件机器人或称软件Agent. 1) 弱定义 Agent用来最一般地说明一个软硬件系统,具有四个特性 ...
- 云计算之路-阿里云上-阵雨:RDS故障的突袭
风雨之后是彩虹,经历了三个月的风雨之后,从6月14日起(上次故障发生于6月13日)开始享受彩虹...而今天突袭而来的RDS故障让我们懂得了彩虹期间会有阵雨,但不管怎么样,离“晴空万里”越来越近了. 2 ...