Java写批量域名注册查询程序
2012-05-31 13:17:59 来源:WEB开发网核心提示:注意 在运行本程序之前 请先 在d盘下面创建domains文件夹package com.cha;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.File;import java.io.FileOutputStrea
注意 在运行本程序之前 请先 在d盘下面创建domains文件夹
package com.cha; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.security.AllPermission; import java.util.ArrayList; import java.util.List; import java.util.UUID; /** * * <p>Title: </p> * <p>desc: * <p>Copyright: Copyright(c)Gb 2012</p> * @author 三少 * @time 上午11:57:56 * @version 1.0 * @website http://www.ij2ee.com/49694.html * @since */ public class Cha { final char[] String = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', }; /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { final Cha c = new Cha(); //开启查询线程 new Thread(new Runnable() { @Override public void run() { c.aillTaskList(); } }).start(); //开启写文件线程 new Thread(new Runnable() { @Override public void run() { try { while(true){ c.saveFile(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); } private void aillTaskList() { new Thread(new Runnable() { @Override public void run() { //3个for循环 表示三位字母的。 for (int i = 0; i < String.length; i++) { for (int j = 0; j < String.length; j++) { for (int k = 0; k < String.length; k++) { String domain = String[i] + "" + String[j] + String[k]; try { System.out.println(domain); chaIt(domain); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } }).start(); } List<String> domainList = new ArrayList<String>(); StringBuffer sb = new StringBuffer(); /** * * @param domain 域名内容 比如 www.ij2ee.com * @throws Exception */ private void chaIt(String domain) throws Exception { //这种查是否被注册的url 大家自己找 比如 String url = "http://www.xxxx.com/cgi-bin/domainquery.cgi?flag=1&domainname="+ domain ; URL u = new URL(url); String res = readInputStream(u.openStream(), "UTF-8"); if (res.endsWith("1")) { domainList.add(res); } } public int delay = 1000; private void saveFile() throws Exception { //减少本机压力 睡眠一会儿 Thread.sleep(delay); System.out.println("domainList.size = "+domainList.size()); if (domainList.size() >= 10) { for (String d : domainList) { sb.append(d).append(","); } saveFile(sb.toString()); // sb =new StringBuffer(); domainList.clear(); delay = 1000; } else { delay = 5000; } } //默认保存在domains下。 void saveFile(String data) throws Exception { String filePath = "D:\\domains\\" + UUID.randomUUID().toString() + ".txt"; File f = new File(filePath); if (!f.exists()) { f.createNewFile(); } FileOutputStream fOut = new FileOutputStream(filePath); DataOutputStream out = new DataOutputStream(fOut); out.writeUTF(data); out.flush(); out.close(); } public static String readInputStream(InputStream is, String encode) throws IOException { if (encode == null) { encode = "UTF-8"; } BufferedReader in = new BufferedReader( new InputStreamReader(is, encode)); StringBuffer buffer = new StringBuffer(); String line; int isFrist = 0; while ((line = in.readLine()) != null) { // System.out.println(line); buffer.append(line); } is.close(); return buffer.toString(); } }
更多精彩
赞助商链接