复制代码代码如下::
Import Java.io.BufferedReader;
Import Java.io.file;
importieren java.io.fileoutputStream;
importieren java.io.ioException;
importieren java.io.inputstream;
importieren java.io.inputStreamReader;
importieren java.io.outputStreamwriter;
importieren java.net.httpurlConnection;
importieren java.net.url;
import Java.util.scanner;
Import Java.util.Stringtokenizer;
import org.jsoup.jsoup;
import org.jsoup.nodes.document;
import org.jsoup.select.elements;
public class testpost {
public static void main (String args []) löst IoException {aus
Scanner scanner = neuer Scanner (System.in);
System.out.println ("请输入用户名 :");
String user_name = scanner.next ();
System.out.println ("请输入密码 :");
String password = scanner.next ();
testpost (user_name, password, "d: /filedown2.txt");
testjSoup ();
}
public static void testpost (String user_name, String -Passwort, String outPath) löst IOException {aus
String login = "";
URL URL = New URL ("http://passport.mop.com");
HttpurlConnection Connection = null;
connection = (httpurlConnection) url.openconnection (); // 建立链接
Connection.SetInstanceFollowredirects (Falsch);
Connection.SetRequestProperty ("Verbindung", "Keep-Alive");
Connection.SetRequestProperty ("Benutzeragent",
"Mozilla/5.0 (Windows NT 6.1; Wow64) Applewebkit/537.36 (KHTML, wie Gecko) Chrom/32.0.1700.107 Safari/537.36");
connection.addRequestProperty ("Content-Typ", "Anwendung/x-www-form-urlencoded; charset = utf-8");
Connection.SetDoInput (true);
connection.setDooutput (true);
//connection.disconnect ();
String str = connection.getheaderfield ("Ort"); // 获得重定向的 URL 地址
Url newurl = new url (str);
// String cookies = getcookies (Verbindung);
HttpurlConnection conn = (httpurlConnection) newurl.openconnection ();
Conn.SetRequestProperty ("Referer", str); // 浏览器向 Web 服务器表明自己是从哪个 网页/url 获得/点击 当前请求中的网址/url
//conn.setRequestProperty("cookie ", Cookies); // 发送设置 Cookie :
Conn.SetRequestProperty ("Verbindung", "Keep-Alive");
Conn.SetRequestProperty ("Benutzer-Agent",
"Mozilla/5.0 (Windows NT 6.1; Wow64) Applewebkit/537.36 (KHTML, wie Gecko) Chrom/32.0.1700.107 Safari/537.36");
Conn.SetRequestProperty ("Content-Typ", "Anwendung/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 ="+kennwort;
out.write (Login);
out.flush ();
out.close ();
InputStream inputStream = conn.getInputStream ();
BufferedReader Reader = New BufferedReader (neuer InputStreamReader (InputStream, "UTF-8"));
reader.close ();
// 链接到 persönlich 页面
String Headername = null;
StringBuilder mycookies = new StringBuilder ();
//mycookies.append(cookies + ";");
für (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.Append (Cookievalue + ";");
}
}
Url purl = new url ("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 = neuer BufferedReader (neuer InputStreamReader (InputStream1, "UTF-8");
// String Line1 = Reader1.readline ();
// while (line1! = null) {
//System.out.println(line1);
// Zeile1 = Reader1.readline ();
//}
//reader1.close ();
int chByte = 0;
FileOutputStream FileOut = new FileOutputStream (neue Datei (OutPath));
chByte = inputStream1.read ();
while (chbyte! = -1) {
FileOut.Write (chbyte);
chByte = inputStream1.read ();
}
}
private statische Zeichenfolge getcookies (httpurlConnection conn) {
// Todo automatisch generierte Methode Stub
// StringBuffer cookies = new StringBuffer ();
StringBuilder cookies = new StringBuilder ();
String Headname;
für (int i = 1; (headname = conn.getheaderfield (i))! = null; i ++) {
StringTokenizer st = new StringTokenizer (Headname, ";");
während (St.Hasmoretokens ()) {
Cookies.Append (St.NextToken () + ";");
}
}
return Cookies.toString ();
}
private static void testjSoup () löst ioException {aus {
// 解析 html 文档
Datei input = new Datei ("d:/filedown2.txt");
Document doc = jsoup.parse (Eingabe, "UTF-8");
// für (Element ELE: doc.getElementsByClass ("zhnc"). Select ("ul")) {
// if (! ele.select ("li"). tostring (). Equals ("")) {
// String text = ele.select ("li"). Text ();
// system.out.println ("user_name ist:"+text);
//}
//}
Elemente ele = doc.getElementsByClass ("zhnc"). Select ("ul");
if (! ele.select ("li"). toString (). Equals ("") {
String text = ele.select ("li"). Text ();
System.out.println ("user_name ist:"+text);
}anders{
System.out.println ("登录失败");
}
}
}