注意,一般提交登陆之后页面会自动跳转,那是浏览器自动实现的,如果你用java 比如URL 类来读的话,你得先分离出那个 页面的地址.跳转方式多多,也没有什么一定的方法,甚至无法判断如何跳转.所以,最好能分析 HTML.
可以用 Htmlparser 来分析页面内容,以确定到底这个页面将要跳转到哪里,或者不跳转.不少跳转是用 JavaScript 写的,浏览器会自动执行JavaScript,但是java 不会,不过我也不知道这个问题怎么解决,总不至于还实现一个JavaScript 解释器吧,不然,干脆接着实现一个浏览器算了.
可以用 Htmlparser 来分析页面内容,以确定到底这个页面将要跳转到哪里,或者不跳转.不少跳转是用 JavaScript 写的,浏览器会自动执行JavaScript,但是java 不会,不过我也不知道这个问题怎么解决,总不至于还实现一个JavaScript 解释器吧,不然,干脆接着实现一个浏览器算了.
如果解决了共享一下方法吧,我也在找这方面的资料
try {
// Construct data
String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
// Send data
URL url = new URL("http://hostname:80/cgi");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
// Process line...
}
wr.close();
rd.close();
} catch (Exception e) {
}