复制代码代码如下:
impor java.io.bufferedReader;
impor java.io.file;
impor java.io.fileoutputStream;
impor java.io.ioException;
impor java.io.inputstream;
impor java.io.inputStreamReader;
impor java.io.outputStreamWriter;
impor java.net.httpurlconnection;
impor java.net.url;
impor java.util.scanner;
impor java.util.stringtokenizer;
impor org.jsoup.jsoup;
impor org.jsoup.nodes.document;
impor org.jsoup.select.elements;
TestPost kelas publik {
public static void main (string args []) melempar ioException {
Pemindai Pemindai = Pemindai Baru (System.in);
System.out.println ("请输入用户名 :");
String user_name = scanner.next ();
System.out.println ("请输入密码 :");
String password = scanner.next ();
testPost (user_name, kata sandi, "d: /fileDown2.txt");
testJsoup ();
}
public static void testPost (string user_name, string password, string outpath) melempar ioException {
String login = "";
Url url = url baru ("http://passport.mop.com");
Koneksi httpurlconnection = null;
koneksi = (httpurlconnection) url.openconnection (); // 建立链接
connection.setInstanceFollowRedirects (false);
Connection.setRequestProperty ("Connection", "Keep-Alive");
Connection.setRequestProperty ("User-Agent",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, Like Gecko) Chrome/32.0.1700.107 Safari/537.36");
connection.addRequestProperty ("tipe konten", "Aplikasi/X-WWW-Form-Urlencoded; charset = UTF-8");
Connection.setDoInput (true);
Connection.setDoOutput (true);
//connection.disconnect ();
String str = connection.getheaderfield ("location"); // 获得重定向的 url 地址
Url newurl = URL baru (str);
// cookies string = getCookies (koneksi);
HttpurlConnection conn = (httpurlConnection) newurl.openconnection ();
conn.setRequestProperty ("referer", str); // 浏览器向 web 服务器表明自己是从哪个 网页/url 获得/点击 当前请求中的网址/url
//conn.setrequestproperty("cookie ", cookie); // 发送设置 cookie :
Conn.setRequestProperty ("Connection", "Keep-Alive");
Conn.setRequestProperty ("User-Agent",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, Like Gecko) Chrome/32.0.1700.107 Safari/537.36");
conn.setRequestProperty ("tipe konten", "Aplikasi/X-WWW-Form-Urlencoded");
Conn.setDoInput (true);
Conn.SetDoOutput (true);
OutputStreamWriter out = outputStreamWriter baru (conn.getoutputStream (), "UTF-8");
Login = Login+"user_name ="+user_name+"&"+"kata sandi ="+kata sandi;
out.write (login);
out.flush ();
out.close ();
InputStream inputStream = conn.getInputStream ();
BufferedReader Reader = BufferedReader baru (InputStreamReader baru (InputStream, "UTF-8"));
reader.close ();
// 链接到 Pribadi 页面
String headername = null;
StringBuilder mycookies = new StringBuilder ();
//mycookies.append(cookies + ";");
untuk (int i = 1; (headername = conn.getheaderfieldKey (i))! = null; i ++) {
if (headername.equals ("set-cookie")) {
String 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.Peramping (cookievalue + ";");
}
}
Url purl = URL baru ("http://passport.mop.com/personal");
HttpurlConnection pconn = (httpurlConnection) purl.openconnection ();
pconn.setRequestProperty ("referer", str);
pconn.setRequestProperty ("cookie", mycookies.tostring ());
pconn.connect ();
InputStream inputStream1 = pconn.getInputStream ();
// BufferedReader Reader1 = BufferedReader baru (inputStreamReader baru (inputStream1, "UTF-8"));
// string line1 = reader1.readline ();
// while (line1! = null) {
//System.out.println(line1);
// line1 = reader1.readline ();
//}
//reader1.close ();
int chbyte = 0;
FileOutputStream Fileout = baru fileOutputStream (file baru (outpath));
chbyte = inputStream1.read ();
while (chbyte! = -1) {
fileout.write (chbyte);
chbyte = inputStream1.read ();
}
}
Private Static String getCookies (httpurlConnection conn) {
// TODO Stub Metode yang dihasilkan otomatis
// cookies stringBuffer = stringBuffer baru ();
Cookies StringBuilder = StringBuilder baru ();
Headname string;
untuk (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 () melempar ioException {
// 解析 html 文档
File input = file baru ("d: /filedown2.txt");
Dokumen doc = jsoup.parse (input, "UTF-8");
// untuk (elemen ele: doc.geteLementsbyclass ("zhnc"). pilih ("ul")) {
// if (! ele.select ("li"). tostring (). equals ("") {
// string text = ele.select ("li"). Text ();
// System.out.println ("user_name adalah:"+teks);
//}
//}
Elemen ele = doc.geteLementsbyclass ("zhnc"). Pilih ("ul");
if (! ele.select ("li"). tostring (). equals ("")) {
String text = ele.select ("li"). Text ();
System.out.println ("user_name adalah:"+teks);
}kalau tidak{
System.out.println ("登录失败");
}
}
}