复制代码代码如下:
导入java.io..bufferedreader;
导入java.io.file;
导入java.io.io.fileoutputstream;
导入java.io.ioexception;
导入java.io.inputstream;
导入java.io.io.inputStreamReader;
导入java.io.OutputStreamWriter;
导入java.net.httpurlConnection;
导入java.net.url;
导入Java.util.Scanner;
导入Java.util.StringTokenizer;
导入org.jsoup.jsoup;
导入org.jsoup.nodes.document;
导入org.jsoup.select.elements;
公共类测试杆{
公共静态void main(string args [])抛出ioexception {
扫描仪扫描仪=新扫描仪(System.in);
system.out.println(“:”);
字符串user_name = scanner.next();
system.out.println(“:”);
字符串密码= scanner.next();
testpost(user_name,密码,“ d:/filedown2.txt”);
testjsoup();
}
public static void testpost(字符串user_name,字符串密码,字符串孔径)抛出ioexception {
字符串登录=“”;
url url = new URL(“ http://passport.mop.com”);
httpurlconnection连接= null;
连接=(httpurlConnection)url.openconnection(); //建立链接
Connection.setInstanceFollocredirects(false);
Connection.setRequestProperty(“连接”,“ keep-alive”);
Connection.setRequestProperty(“用户代理”,
“ Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebkit/537.36(Khtml,像Gecko一样)Chrome/32.0.1700.107 Safari/537.36);
connection.addrequestProperty(“ content-type”,“应用程序/x-www-form-urlencoded; charset = utf-8”);
Connection.setDoInput(true);
connection.setDoOutput(true);
//connection.disconnect();
string str = connection.getheaderfield(“位置”); //获得重定向的url地址
url newurl = new url(str);
//字符串cookies = getCookies(连接);
httpurlconnection conn =(httpurlConnection)newurl.openconnection();
conn.setRequestProperty(“推荐人”,str); //浏览器向web服务器表明自己是从哪个/url获得/点击/url/url
//conn.setrequestproperty(“cookie”,cookie); //发送设置cookie::
conn.setRequestProperty(“连接”,“ keep-alive”);
conn.setRequestProperty(“用户代理”,
“ Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebkit/537.36(Khtml,像Gecko一样)Chrome/32.0.1700.107 Safari/537.36);
conn.setRequestProperty(“ content-type”,“应用程序/x-www-form-urlencoded”);
conn.setDoInput(true);
conn.setDoOutput(true);
outputStreamWriter out = new UppotStreamWriter(conn.getOutputStream(),“ utf-8”);
登录=登录+“ user_name =”+user_name+“&”+“ password =”+密码;
out.write(login);
out.flush();
out.close();
InputStream InputStream = Conn.getInputStream();
BufferedReader Reader = new BufferedReader(new InputStreamReader(InputStream,“ UTF-8”));
reader.close();
//个人页面
字符串标题= null;
StringBuilder mycookies = new StringBuilder();
//mycookies.append(cookies +“;”);
for(int i = 1;(headername = conn.getheaderfieldkey(i))!= null; i ++){
if(headername.equals(“ set-cookie”)){
字符串cookie = conn.getheaderfield(i);
cookie = cookie.substring(0,cookie.indexof(“;”));
字符串cookiename = cookie.substring(0,cookie.indexof(“ =”));
字符串cookievalue = cookie.substring(cookie.indexof(“ =”) + 1,cookie.length());
mycookies.append(cookiename +“ =”);
mycookies.append(cookievalue +“;”);
}
}
url purl = new url(“ http://passport.mop.com/personal”);
httpurlconnection pconn =(httpurlConnection)purl.openconnection();
pconn.setRequestProperty(“推荐人”,str);
pconn.setRequestProperty(“ cookie”,mycookies.tostring());
pconn.connect();
InputStream InputStream1 = pconn.getInputStream();
// BufferedReader Reader1 = new BufferedReader(new InputStreamReader(InputStream1,“ utf-8”)));
//字符串line1 = reader1.readline();
// while(line1!= null){
//system.out.println(line1);
// line1 = reader1.readline();
//}
//reader1.close();
int chbyte = 0;
fileOutputStream fileout = new fileOutputStream(new File(eTPATH));
chbyte = inputstream1.read();
while(chbyte!= -1){
fileout.write(chbyte);
chbyte = inputstream1.read();
}
}
私有静态字符串getCookies(httpurlconnection conn){
// TODO自动生成的方法存根
// StringBuffer cookies = new StringBuffer();
StringBuilder cookies = new StringBuilder();
字符串头名;
for(int i = 1;(headName = conn.getheaderfield(i))!= null; i ++){
StringTokenizer st = new StringTokenizer(头名,“;”);
而(St.Hasmoretokens()){
cookies.append(st.nexttoken() +“;”);
}
}
返回cookies.tostring();
}
私有静态void testjsoup()抛出ioexception {
//解析html文档
文件输入=新文件(“ d:/filedown2.txt”);
文档doc = jsoup.parse(输入,“ utf-8”);
// for(eleme ele:doc.getelementsbyclass(“ zhnc”)。选择(“ ul”)){
// if(!ele.select(“ li”)。
//字符串text = ele.Select(“ li”)。text();
// system.out.println(“ user_name is:”+text);
//}
//}
Elements Ele = Doc.GetElementsByClass(“ ZHNC”)。选择(“ UL”);
如果(!ele.Select(“ li”)。
字符串text = ele.Select(“ li”)。text();
system.out.println(“ user_name is:”+text);
}别的{
system.out.println(“登录失败”);
}
}
}