我們知道發送GET數據的時候可以在文件名後面加參數,如http://www.mz520.com/bbs/post.asp?action=new&boardid=41
後面的action=new&boardid=41就是GET方法接收的值,要提交POST數據第一種方法可以用JAVASCRIPT的form.submit()方法模擬表單提交,第二種方法就是利用net包裏的URL類對象設置輸出流來做到,首先創建URL對象(這裏使用CSDN登陸處理頁面爲例子)
URL url=new URL("http://www.csdn.net/member/logon.asp");
URLConnection connection=url.openConnection();//然後打開一個數據流爲了得到返回的HTML
connection.setDoOutput(true);//設置輸出流
OutputStreamWriter out=new OutputStreamWriter(connection.getOutputStream());//得到輸出流
out.write("login_name=umbrella1984&password=123456&cookietime=0");//輸出post數據
out.flush();
out.close();
這樣數據就發送出去了,這時就可以利用getInputStream()得到登陸成功或者失敗時的頁面HTML代碼
BufferedReader in=new BufferedReader(new InputStreamReader(connection.getInputStream()));//設置輸入流,爲了得到返回的HTML
String html_value;
while(in.readLine()!=null){ //如果返回的頁面不爲空
html_value=html_value+in.readLine();//得到所有的HTML
}
System.out.println(html_value);
in.close();