复制代码代码如下:
java.io.bufferedreaderをインポートします。
java.io.fileをインポートします。
java.io.fileoutputStreamをインポートします。
java.io.ioexceptionをインポートします。
java.io.inputStreamをインポートします。
java.io.inputStreamReaderをインポートします。
java.io.outputStreamWriterをインポートします。
java.net.httpurlconnectionをインポートします。
java.net.urlをインポートします。
Java.util.scannerをインポートします。
Java.util.StringTokenizerをインポートします。
import org.jsoup.jsoup;
Import org.jsoup.nodes.document;
Import org.jsoup.select.elements;
パブリッククラスのテストポスト{
public static void main(string args [])throws ioexception {
スキャナースキャナー=新しいスキャナー(System.in);
System.out.println( "请输入用户名:");
string user_name = scanner.next();
System.out.println( "请输入密码:");
文字列パスワード= scanner.next();
testPost(user_name、password、 "d:/filedown2.txt");
testjsoup();
}
public static void testpost(string user_name、string password、string outpath)throws ioexception {
文字列login = "";
url url = new url( "http://passport.mop.com");
httpurlconnection connection = null;
connection =(httpurlconnection)url.openconnection(); //建立链接
connection.setantanceFollowRedirects(false);
connection.setRequestProperty( "Connection"、 "Keep-Alive");
connection.setRequestProperty( "user-agent"、
"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"、 "application/x-www-form-urlencoded; charset = utf-8");
connection.setDoinput(true);
connection.setDoOutput(true);
//connection.disconnect();
string str = connection.getheaderfield( "location"); //
url newurl = new url(str);
// string cookies = getCookies(connection);
httpurlconnection conn =(httpurlconnection)newurl.openconnection();
conn.setRequestProperty( "Referer"、str); //
//conn.setRequestProperty("Cookie "、Cookies); //发送设置Cookie:
conn.setRequestProperty( "Connection"、 "Keep-Alive");
conn.setRequestProperty( "user-agent"、
"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"、 "application/x-www-form-urlencoded");
conn.setDoinput(true);
conn.setDoOutput(true);
outputStreamWriter out = new outputStreamWriter(conn.getOutputStream()、 "utf-8");
login = login+"user_name ="+user_name+"&"+"password ="+password;
out.write(login);
out.flush();
out.close();
inputstream inputstream = conn.getInputStream();
BufferedReader Reader = new BufferedReader(new inputstreamReader(inputStream、 "utf-8"));
reader.close();
//链接到パーソナル页面
string headername = 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( ";"));
string cookiename = cookie.substring(0、cookie.indexof( "="));
string 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"));
// string line1 = reader1.readline();
// while(line1!= null){
//system.out.println(line1);
// line1 = reader1.readline();
//}
//reader1.close();
int chbyte = 0;
fileoutputStream fileout = new fileoutputStream(new file(outpath));
chbyte = inputstream1.read();
while(chbyte!= -1){
fileout.write(chbyte);
chbyte = inputstream1.read();
}
}
private static string getCookies(httpurlconnection conn){
// TODO自動生成方法スタブ
// stringbuffer cookies = new StringBuffer();
stringbuilder cookies = new StringBuilder();
文字列headname;
for(int i = 1;(headname = conn.getheaderfield(i))!= null; i ++){
stringtokenizer st = new StringTokenizer(headName、 ";");
while(St.HasmoreTokens()){
Cookies.Append(St.NextToken() + ";");
}
}
return cookies.toString();
}
private static void testjsoup()throws ioException {
// html文档
file input = new file( "d:/filedown2.txt");
document doc = jsoup.parse(input、 "utf-8");
// for(element ele:doc.getelementsbyclass( "zhnc")。select( "ul")){
// if(!ele.select( "li")。toString()。equals( "")){
// string text = ele.select( "li")。text();
// system.out.println( "user_name is:"+text);
//}
//}
Elements ELE = doc.getElementsByClass( "zhnc")。select( "ul");
if(!ele.select( "li")。toString()。equals( "")){
string text = ele.select( "li")。text();
System.out.println( "user_name is:"+text);
}それ以外{
system.out.println( "登录失败");
}
}
}