URL對象模擬POST發送數據!(原創)

我們知道發送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();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章