复制代码代码如下:
Импорт 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 {
public static void main (String args []) бросает ioException {
Сканер сканер = новый сканер (System.in);
System.out.println ("请输入用户名 :");
String user_name = scanner.next ();
System.out.println ("请输入密码 :");
String password = scanner.next ();
testpost (user_name, пароль, "d: /filedown2.txt");
testJSoup ();
}
public static void testpost (String user_name, String пароль, строка Outpath) бросает ioException {
String login = "";
Url url = new URL ("http://passport.mop.com");
Httpurlconnection connection = null;
Connection = (httpurlconnection) url.openconconection (); // 建立链接
Connection.SetInStanceFollowRedirects (false);
Connection.SetRequestProperty («Connection», «Keep-Alive»);
Connection.SetRequestProperty («Пользовательский агент»,
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebkit/537.36 (khtml, как гекко) 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 地址
Url newurl = new URL (str);
// String cookies = GetCookies (Connection);
Httpurlconnection conn = (httpurlconnection) newurl.openconcenection ();
conn.setrequestproperty ("Реферат", str); // 浏览器向 web 服务器表明自己是从哪个/url 获得/点击 当前请求中的网址/url
//conn.setrequestproperty("cookie ", cookie); // 发送设置 cookie :
conn.setrequestproperty («connection», «Keep-alive»);
conn.setrequestproperty («Пользовательский агент»,
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebkit/537.36 (khtml, как гекко) Chrome/32.0.1700.107 Safari/537,36");
conn.setrequestproperty ("content-type", "Application/xww-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 (вход);
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")) {
String cookie = conn.getheaderfield (i);
cookie = cookie.substring (0, cookie.indexof (";"));
String cookiename = cookie.substring (0, cookie.indexof ("="));
String cookieivealue = cookie.substring (cookie.indexof ("=") + 1, cookie.length ());
mycookies.append (cookiename + "=");
MyCookies.Append (cookieievule + ";");
}
}
Url purl = new URL ("http://passport.mop.com/personal");
Httpurlconnection pconn = (httpurlconnection) purl.openconcection ();
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 (новый файл (Outpath));
chbyte = inputstream1.read ();
while (chbyte! = -1) {
fileout.write (chbyte);
chbyte = inputstream1.read ();
}
}
частная статическая строка GetCookies (httpurlConnection conn) {
// TODO Автогенерированный метод заглушка
// stringBuffer cookies = new StringBuffer ();
Cookies cookie stringbuilder = new StringBuilder ();
Строка HeadName;
for (int i = 1; (Headname = conn.getheaderfield (i))! = null; i ++) {
StringTokenizer st = new StringTokenizer (HeadName, ";");
в то время как (St.hasmoretokens ()) {
cookies.append (st.nexttoken () + ";");
}
}
вернуть cookies.tostring ();
}
private static void testjsoup () бросает ioException {
// 解析 html 文档
File input = new File ("d: /filedown2.txt");
Документ 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 ("登录失败");
}
}
}