zoukankan      html  css  js  c++  java
  • 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(" ");

    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);

    }

    }

     

  • 相关阅读:
    旅行锦囊
    生活智慧
    育儿锦囊
    新婚置办
    软件开发心得
    64位sql server2005安装
    Struts学习心得
    Spring学习心得
    Oracle补习班第十天
    Python----文件操作
  • 原文地址:https://www.cnblogs.com/attilax/p/5963449.html
Copyright © 2011-2022 走看看