您的位置:首页 > 其它

推荐一款 在线UML制作工具processOn

2015-03-16 19:39 302 查看
推荐一款 在线UML制作工具processOn

由于默认可以使用的私有文件数量太少了,另外附赠批量要求,只需要有2个邮箱即可,如现在使用email1注册的帐号,现在邀请email2注册,只需修改源码中的被邀请邮箱、用户名开头、email1帐号的要求连接即可,然后运行main,最后进入邮箱email2然后挨个的点击验证就可以了

Processon.java

import HttpQuery;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/**
* Created with IntelliJ IDEA.
* User: Karl
* Date: 2015/3/16
* Time: 14:10
* Description:
*/
public class Processon {
private static Logger log = Logger.getLogger(Processon.class);

public static String BeInvitedEmail = "email2@163.com";//被邀请邮箱
public static String PASSWORD = "123456";//默认注册密码
public static String FULLNAME = "myname_";//默认用户名开头部分
public static String vnviteURL = "https://www.processon.com/i/afa123211f9053502ddf";//我的邀请连接

public static String signup = "https://www.processon.com/signup";
public static String signupSubmit = "https://www.processon.com/signup/submit";

public static void main(String[] args){
try {
Processon processon = new Processon();
for(int i=1; i<100; i++) {
processon.start(i);
}
}catch (Exception e){
e.printStackTrace();
}
}

public void start(int num)  throws Exception{
String html = httpQuery.get(vnviteURL, null);
html = httpQuery.get(signup,null);
String email = this.genSpace(num)+BeInvitedEmail;
String pass = PASSWORD;
String fullname= FULLNAME+num;
Map<String, Object> map = new HashMap<String, Object>();
map.put("email", email);
map.put("pass", pass);
map.put("fullname", fullname);
html = httpQuery.post(signupSubmit, map);
int index = html.indexOf("We have sent a verification email");
if(index > 0) {
System.out.println(num+": "+html.substring(index, index+190));
}else{
System.out.println(html);
}
}

private String genSpace(int num){
StringBuffer sb = new StringBuffer();
for(int i=0; i<num; i++){
sb.append(" ");
}
return sb.toString();
}

private String Referer = "http://www.processon.com";
private long LOGIN_WIAT_TIME = 10;

private HttpQuery httpQuery = new HttpQuery();

static {
Properties pro = new Properties();
pro.put("log4j.rootLogger", "DEBUG,C,R,A");

pro.put("log4j.appender.C", "org.apache.log4j.ConsoleAppender");
pro.put("log4j.appender.C.Threshold", "INFO");
pro.put("log4j.appender.C.layout", "org.apache.log4j.PatternLayout");
pro.put("log4j.appender.C.layout.ConversionPattern", "%n %m");

pro.put("log4j.appender.R", "org.apache.log4j.RollingFileAppender");
pro.put("log4j.appender.R.File", "logs/" + Processon.class.getName()+".log");
pro.put("log4j.appender.R.MaxFileSize", "10000KB");
pro.put("log4j.appender.R.MaxBackupIndex", "20");
pro.put("log4j.appender.R.Threshold", "INFO");
pro.put("log4j.appender.R.layout", "org.apache.log4j.PatternLayout");
pro.put("log4j.appender.R.layout.ConversionPattern", "%n[%d{HH:mm:ss}] [%p] %m");

pro.put("log4j.appender.A", "org.apache.log4j.RollingFileAppender");
pro.put("log4j.appender.A.File", "logs/" + Processon.class.getName()+".log");
pro.put("log4j.appender.A.MaxFileSize", "10000KB");
pro.put("log4j.appender.A.MaxBackupIndex", "20");
pro.put("log4j.appender.A.Threshold", "DEBUG");
pro.put("log4j.appender.A.layout", "org.apache.log4j.PatternLayout");
pro.put("log4j.appender.A.layout.ConversionPattern", "%n[%d{HH:mm:ss}] [%p] %m");

PropertyConfigurator.configure(pro);
}
}


httpQuery 源码 详见上一篇文章
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: