Java 自动登录程序片段

来源:互联网 发布:开单软件 编辑:程序博客网 时间:2024/04/28 05:51
package auto;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.URL;import java.net.URLConnection;public class AutoPost {public static void autoPost(String surl) throws IOException {URL url = new URL(surl);URLConnection conn = url.openConnection();conn.setDoOutput(true);OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(),"UTF-8");out.write("username=oscar999&password=");out.flush();out.close();StringBuffer sTotalStrbuf = new StringBuffer();String sLine = "";InputStream instream = conn.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(instream));while ((sLine = reader.readLine()) != null) {sTotalStrbuf.append(sLine);}System.out.println(sTotalStrbuf.toString());}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubString surl = "http://www.open-open.com/doc/members/login";try {autoPost(surl);} catch (IOException e) {e.printStackTrace();}}}


改进一版


package auto;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.URL;import java.net.URLConnection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class AutoPost {public static void autoPost(String surl, HashMap paraMhm)throws IOException {URL url = new URL(surl);URLConnection conn = url.openConnection();// set User-Agent, avoid occur 403 errorconn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");conn.setDoOutput(true);// OutputStreamWriter out = new// OutputStreamWriter(conn.getOutputStream(),// "UTF-8");OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(),"GB2312");StringBuffer sParameterStr = new StringBuffer("?");if (paraMhm != null && paraMhm.size() > 0) {Iterator it = paraMhm.entrySet().iterator();while (it.hasNext()) {Map.Entry entry = (Map.Entry) it.next();String sKey = (String) entry.getKey();String sValue = (String) entry.getValue();sParameterStr.append(sKey);sParameterStr.append("=");sParameterStr.append(sValue);sParameterStr.append("&");}// delete the last &sParameterStr.deleteCharAt(sParameterStr.length() - 1);}out.write(sParameterStr.toString());out.flush();out.close();StringBuffer sTotalStrbuf = new StringBuffer();String sLine = "";InputStream instream = conn.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(instream));while ((sLine = reader.readLine()) != null) {sTotalStrbuf.append(sLine);}System.out.println(sTotalStrbuf.toString());}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub// String surl = "http://www.open-open.com/doc/members/login";HashMap<String, String> paraHashMap = new HashMap<String, String>();// String surl = "http://passport.csdn.net/account/login";// paraHashMap.put("u", "oscar999");// paraHashMap.put("p", "");// String surl = "http://www.open-open.com/home/index.php";// paraHashMap.put("username", "oscar999");// paraHashMap.put("password", "");String surl = "http://www.e-works.com.cn/comm/ewk_business/usercenter/userlogin_comm.aspx";paraHashMap.put("tboxUserName", "oscar999");paraHashMap.put("tboxPwd", "");try {autoPost(surl, paraHashMap);} catch (IOException e) {e.printStackTrace();}}}

有时间再用awt 写个界面出来