复制代码代码如下:
นำเข้า 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;
นำเข้า org.jsoup.jsoup;
นำเข้า org.jsoup.nodes.document;
นำเข้า org.jsoup.select.elements;
TestPost ระดับสาธารณะ {
โมฆะคงที่สาธารณะหลัก (String args []) พ่น IOException {
สแกนเนอร์สแกนเนอร์ = สแกนเนอร์ใหม่ (System.in);
System.out.println ("请输入用户名:");
String user_name = scanner.next ();
System.out.println ("请输入密码:");
สตริงรหัสผ่าน = scanner.next ();
TestPost (user_name, รหัสผ่าน, "d: /filedown2.txt");
testjsoup ();
-
Public Static Void TestPost (String user_name, String Password, String outpath) พ่น IOException {
สตริงเข้าสู่ระบบ = "";
url url = url ใหม่ ("http://passport.mop.com");
การเชื่อมต่อ httpurlConnection = null;
การเชื่อมต่อ = (httpurlconnection) url.openconnection (); // 建立链接
Connection.setInstanceFollowRECTS (เท็จ);
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 ("เนื้อหาประเภท", "แอปพลิเคชัน/x-www-form-urlencoded; charset = utf-8");
Connection.setDoInput (จริง);
Connection.setDooutput (จริง);
//connection.disconnect ();
string str = connection.getheaderfield ("ตำแหน่ง"); // 获得重定向的 url 地址
url newUrl = url ใหม่ (str);
// สตริงคุกกี้ = getCookies (การเชื่อมต่อ);
httpurlConnection conn = (httpurlconnection) newurl.openconnection ();
conn.setRequestProperty ("ผู้อ้างอิง", str); // 浏览器向เว็บ服务器表明自己是从哪个/url 获得/点击/url/url
//conn.setRequestProperty("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 ("ประเภทเนื้อหา", "แอปพลิเคชัน/x-www-form-urlencoded");
conn.setDoInput (จริง);
conn.setDooutput (จริง);
OutputStreamWriter out = new OutputStreamWriter (conn.getOutputStream (), "UTF-8");
เข้าสู่ระบบ = เข้าสู่ระบบ+"user_name ="+user_name+"&"+"รหัสผ่าน ="+รหัสผ่าน;
out.write (เข้าสู่ระบบ);
out.flush ();
out.close ();
inputStream inputStream = conn.getInputStream ();
bufferedReader reader = new BufferedReader (ใหม่ inputStreamReader (inputStream, "UTF-8"));
reader.close ();
// 链接到ส่วนตัว页面
String headername = null;
StringBuilder myCookies = new StringBuilder ();
//mycookies.append(cookies + ";");
สำหรับ (int i = 1; (headername = conn.getheaderfieldkey (i))! = null; i ++) {
if (headername.equals ("set-cookie")) {
สตริงคุกกี้ = conn.getheaderfield (i);
COOKIE = COOKIE.SUBSTRING (0, COOKIE.INDEXOF (";"));
String cookiename = cookie.substring (0, cookie.indexof ("="));
String CookieVEALUE = COOKIE.SUBSTRING (COOKIE.INDEXOF ("=") + 1, COOKIE.Length ());
MyCookies.Append (Cookiename + "=");
MyCookies.Append (CookieVieLue + ";");
-
-
url purl = url ใหม่ ("http://passport.mop.com/personal");
httpurlConnection pConn = (httpurlConnection) purl.openconnection ();
PCON.SetRequestProperty ("ผู้อ้างอิง", STR);
PCON.SetRequestProperty ("คุกกี้", MyCookies.toString ());
PCONN.CONNECT ();
inputStream inputStream1 = pConn.getInputStream ();
// bufferedReader reader1 = ใหม่ bufferedReader (ใหม่ inputStreamReader (inputStream1, "UTF-8"));
// string line1 = reader1.readline ();
// ในขณะที่ (line1! = null) {
//system.out.println(line1);
// line1 = reader1.readline ();
-
//reader1.close ();
int chbyte = 0;
fileOutputStream fileout = ใหม่ fileOutputStream (ไฟล์ใหม่ (outpath));
chbyte = inputstream1.read ();
ในขณะที่ (chbyte! = -1) {
fileout.write (chbyte);
chbyte = inputstream1.read ();
-
-
สตริงคงที่ส่วนตัว getCookies (httpurlconnection conn) {
// todo วิธีการที่สร้างขึ้นอัตโนมัติสตับ
// cookies StringBuffer = new StringBuffer ();
StringBuilder Cookies = new StringBuilder ();
ชื่อ headname String;
สำหรับ (int i = 1; (headname = conn.getheaderfield (i))! = null; i ++) {
StringTokenizer st = new StringTokenizer (ชื่อ headNe, ";");
ในขณะที่ (St.Hasmoretokens ()) {
Cookies.Append (St.Nexttoken () + ";");
-
-
ส่งคืนคุกกี้. tostring ();
-
Void Private Void TestjSoup () พ่น IOException {
// 解析 html 文档
file input = ไฟล์ใหม่ ("d: /filedown2.txt");
เอกสารเอกสาร = jsoup.parse (อินพุต "UTF-8");
// สำหรับ (Element Ele: doc.getElementsByClass ("ZHNC") SELECT ("UL")) {
// ถ้า (! ele.select ("li"). toString (). เท่ากับ ("")) {
// ข้อความสตริง = ele.select ("li"). text ();
// system.out.println ("user_name คือ:"+ข้อความ);
-
-
Elements Ele = doc.getElementsByClass ("zhnc") เลือก ("ul");
if (! ele.select ("li"). toString (). เท่ากับ ("")) {
String text = ele.select ("li"). text ();
System.out.println ("user_name คือ:"+ข้อความ);
}อื่น{
System.out.println ("登录失败");
-
-
-