复制代码代码如下:
import java.io.bufferedReader;
import java.io.file;
import java.io.fileOutputStream;
import java.io.ioException;
import java.io.inputstream;
import java.io.inputstreamreader;
import java.io.outputstreamwriter;
import java.net.httpurlconnection;
import java.net.url;
import java.util.scanner;
import java.util.stringTokenizer;
importar org.jsoup.jsoup;
importar org.jsoup.nodes.document;
importar org.jsoup.select.elements;
Public Class TestPost {
public static void main (string args []) lanza ioexception {
Scanner Scanner = New Scanner (System.in);
System.out.println ("请输入用户名 :");
Cadena user_name = scanner.next ();
System.out.println ("请输入密码 :");
String Password = Scanner.Next ();
testPost (user_name, contraseña, "d: /fileDown2.txt");
testjSoup ();
}
public static void testPost (string user_name, string contraseña, string soutpath) lanza ioexception {
String Login = "";
Url url = new URL ("http://passport.mop.com");
Httpurlconnection conexión = null;
conexión = (httpurlconnection) url.openconnection (); // 建立链接
Connection.SetInstanceFollowledirects (falso);
conexión.setRequestProperty ("Conexión", "Keep-Alive");
Connection.SetRequestProperty ("User-agent",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebkit/537.36 (khtml, como gecko) Chrome/32.0.1700.107 Safari/537.36");
Connection.AdDRequestProperty ("Content-type", "Application/x-www-form-urlencoded; charset = utf-8");
Connect.SetDoInput (verdadero);
Connect.SetDoOutput (verdadero);
//connection.disconnect ();
String Str = Connection.GetheaderField ("Ubicación"); // 获得重定向的 URL 地址
Url newurl = nueva url (str);
// string cookies = getcookies (conexión);
Httpurlconnection conn = (httpurlconnection) newurl.openconnection ();
Conn.setRequestProperty ("Referente", Str); // 浏览器向 Web 服务器表明自己是从哪个/url 获得/点击 当前请求中的网址/url
//conn.setRequestProperty("Cookie ", Cookies); // 发送设置 Cookie :
conn.setRequestProperty ("Conexión", "mantener alive");
Conn.setRequestProperty ("agente de usuario",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebkit/537.36 (khtml, como gecko) Chrome/32.0.1700.107 Safari/537.36");
conn.setRequestProperty ("Content-type", "Application/X-WWW-form-URLEncoded");
Conn.setDoInput (verdadero);
Conn.setDoOutput (verdadero);
OutputStreamWriter out = new OutputStreamWriter (conn.getOutputStream (), "UTF-8");
Login = login+"user_name ="+user_name+"&"+"contraseña ="+contraseña;
out.write (Iniciar sesión);
out.flush ();
out.close ();
InputStream InputStream = Conn.getInputStream ();
BufferedReader Reader = new BufferedReader (new InputStreamReader (inputStream, "UTF-8"));
lector.close ();
// 链接到 personal 页面
String headername = null;
StringBuilder mycookies = new StringBuilder ();
//mycookies.append(cookies + ";");
para (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 ("referente", 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 = nuevo FileOutputStream (nuevo archivo (OutPath));
chbyte = inputStream1.read ();
while (chbyte! = -1) {
fileout.write (chbyte);
chbyte = inputStream1.read ();
}
}
getcookies de cadena estática privada (httpurlconnection conn) {
// TODO STUB de método generado automático
// stringbuffer cookies = new StringBuffer ();
StringBuilder Cookies = new StringBuilder ();
Nombre de cabeza de cadena;
para (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 () lanza ioexception {
// 解析 html 文档
Archivo de archivo = nuevo archivo ("d: /fileDown2.txt");
Documento doc = JSoup.Parse (entrada, "UTF-8");
// for (elemento ele: doc.getElementsByClass ("zhnc"). select ("ul")) {
// if (! ele.select ("li"). toString (). igual ("")) {
// string text = ele.select ("li"). Text ();
// system.out.println ("user_name is:"+text);
//}
//}
Elements ele = doc.getElementsByClass ("zhnc"). Seleccione ("UL");
if (! ele.select ("li"). toString (). igual ("")) {
String text = ele.select ("li"). Text ();
System.out.println ("user_name is:"+text);
}demás{
System.out.println ("登录失败");
}
}
}