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://blog.csdn.net/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相关推荐

  1. Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结

    Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结 1. defer关键字1 2. try!形式存在的"不失败"机制3 3. Guard 4 4 ...

  2. 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. ...

  3. Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39

    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39 V8   重构iocutilV4,use def iocFact...jettyUtil V ...

  4. Atitit.js模块化 atiImport 的新特性javascript import

    Atitit.js模块化 atiImport 的新特性javascript import 1. 常见的js import规范amd ,cmd ,umd1 1.1. Require更多流行3 2. at ...

  5. Atitit.android  jsbridge v1新特性

    Atitit.android  jsbridge v1新特性 1. Java代码调用js并传参其实是通过WebView的loadUrl方法去调用的.只是参数url的写法不一样而已1 2. 三.JAVA ...

  6. Atitit.atiJsBridge 新特性v7q329

    Atitit.atiJsBridge 新特性v7q329 atiJsBridge 未来计划 Postdata  图像上传的支持 Simp param计划 p1 p2 p3 p4 $method 的si ...

  7. atitit.jQuery Validate验证框架详解与ati Validate 设计新特性

    atitit.jQuery Validate验证框架详解与ati Validate 设计新特性 1. AtiValidate的目标1 2. 默的认校验规则1 2.1. 使用方式 1.metadata用 ...

  8. atitit.Oracle 9 10 11 12新特性attilax总结

    atitit.Oracle 9  10 11  12新特性 1. ORACLE 11G新特性 1 1.1. oracle11G新特性 1 1.2. 审计 1 1.3. 1.   审计简介 1 1.4. ...

  9. atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性

    atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性 1. 新特性如下 支持生成sql在无数据库连接的情况下 2. Orm设计 主要的俩个以来service ...

  10. Atitit swt 4.3 4.4 4.5 新特性java attilax总结

    Atitit swt 4.3 4.4 4.5 新特性java attilax总结 1.4.5 Release -June 3, 20151 1.1.Older Releases1 2.SWT 4.4. ...

最新文章

  1. Log4j官方文档翻译(九、输出到数据库)
  2. SAP QM高阶之检验点(Inspection Point)
  3. 代码总是被嫌弃写的太烂?装上这个IDEA插件再试试!
  4. 上拉加载 php,php+jquery 上拉加载
  5. SQLServer支持大内存方案(转载)
  6. Linux常用命令汇总--ln
  7. 训练日志 2019.4.13
  8. unity3d在Android端读取修改Json数据
  9. 关于centos7下/etc/sysconfig/目录没有iptables问题
  10. Unity Android 动态更新 Assembly-CSharp.dll
  11. 一起谈.NET技术,ASP.NET Routing对请求的处理方式
  12. php 无限极分类树形图,ThinkPhp 实现 无限极分类及树状结构 附加使用例子
  13. 自己做网站需要掌握哪些知识?
  14. 破解极验验证码之模拟登录B站
  15. 2022-2028全球及中国棕榈甲酯衍生物行业研究及十四五规划分析报告
  16. VMware下的 Kali Linux 免安装
  17. 服务器金属外壳刮花了怎么修复,pc拉杆箱被磨了怎么办?3方法快速修复(附防刮方式)...
  18. adb调试android设备
  19. python3.6.6对应pydev_python之pydev安装
  20. cent os 挂盘

热门文章

  1. uuid会重复吗_记一次订单号重复的事故,快看看你的 UUID 在并发下还正确吗?...
  2. 大规模均衡分割与层次聚类
  3. 基于源码编译安装openssh
  4. 阿里云前端周刊 - 第 18 期
  5. Jquery 学习笔记一
  6. My first essay
  7. 使用Telnet 在DS300上配置阵列
  8. windows部署PHP开发的cms系统
  9. 【学习笔记】常用的c/c++面试题
  10. Cannot read property 'scrollWidth' of null