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://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相关推荐
- Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结
Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结 1. defer关键字1 2. try!形式存在的"不失败"机制3 3. Guard 4 4 ...
- 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. ...
- Atitit. Atiposter 发帖机 新特性 poster new feature v7 q39
Atitit. Atiposter 发帖机 新特性 poster new feature v7 q39 V8 重构iocutilV4,use def iocFact...jettyUtil V ...
- Atitit.js模块化 atiImport 的新特性javascript import
Atitit.js模块化 atiImport 的新特性javascript import 1. 常见的js import规范amd ,cmd ,umd1 1.1. Require更多流行3 2. at ...
- Atitit.android jsbridge v1新特性
Atitit.android jsbridge v1新特性 1. Java代码调用js并传参其实是通过WebView的loadUrl方法去调用的.只是参数url的写法不一样而已1 2. 三.JAVA ...
- Atitit.atiJsBridge 新特性v7q329
Atitit.atiJsBridge 新特性v7q329 atiJsBridge 未来计划 Postdata 图像上传的支持 Simp param计划 p1 p2 p3 p4 $method 的si ...
- atitit.jQuery Validate验证框架详解与ati Validate 设计新特性
atitit.jQuery Validate验证框架详解与ati Validate 设计新特性 1. AtiValidate的目标1 2. 默的认校验规则1 2.1. 使用方式 1.metadata用 ...
- 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. ...
- atitit.atiOrmStoreService 框架的原理与设计 part1 概述与新特性
atitit.atiOrmStoreService 框架的原理与设计 part1 概述与新特性 1. 新特性如下 支持生成sql在无数据库连接的情况下 2. Orm设计 主要的俩个以来service ...
- 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. ...
最新文章
- Log4j官方文档翻译(九、输出到数据库)
- SAP QM高阶之检验点(Inspection Point)
- 代码总是被嫌弃写的太烂?装上这个IDEA插件再试试!
- 上拉加载 php,php+jquery 上拉加载
- SQLServer支持大内存方案(转载)
- Linux常用命令汇总--ln
- 训练日志 2019.4.13
- unity3d在Android端读取修改Json数据
- 关于centos7下/etc/sysconfig/目录没有iptables问题
- Unity Android 动态更新 Assembly-CSharp.dll
- 一起谈.NET技术,ASP.NET Routing对请求的处理方式
- php 无限极分类树形图,ThinkPhp 实现 无限极分类及树状结构 附加使用例子
- 自己做网站需要掌握哪些知识?
- 破解极验验证码之模拟登录B站
- 2022-2028全球及中国棕榈甲酯衍生物行业研究及十四五规划分析报告
- VMware下的 Kali Linux 免安装
- 服务器金属外壳刮花了怎么修复,pc拉杆箱被磨了怎么办?3方法快速修复(附防刮方式)...
- adb调试android设备
- python3.6.6对应pydev_python之pydev安装
- cent os 挂盘