日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 登录编程_Java编程通过session访问需要登录的页面

發布時間:2023/12/10 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 登录编程_Java编程通过session访问需要登录的页面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用Java訪問一般網頁,進行數據抓取等比較簡單,直接用URL和URLConnection連接所需要的網站地址即可,然后對返回的html源碼進行處理分析,獲取感興趣的內容。

不過如果是需要登錄后才能訪問的網頁就不能直接傳入網站url進行連接了,一般網頁會自動跳轉到登錄頁面,要求先登錄。

另外,即使先在登錄頁面進行了登錄,然后再轉到要登錄才能訪問的網頁時,如果沒在第二次連接中加入之前登錄成功后的session,那么訪問仍然會失敗。URLConnection每次打開一個連接,如果不進行設置,則默認會以新的session去訪問,那么相當于又需要重新登錄,因此需要加入登錄成功的session才能訪問到需要登錄的頁面。

以下通過一個小例子來說明該如何操作:

1.首先找到登錄界面

2.查看表單提交給哪個action

3.來到單一的表單提交頁面

4.修改表單提交方式為get

5.隨便輸入用戶名和密碼后瀏覽器的地址欄就有這么一串地址,只要把user和password改成正確的,那么直接在瀏覽器輸入這串地址就直接登錄,類似的,直接用URLConnetion打開這串數據的連接即實現了登錄,獲取服務器返回過來的session,下次再連接該網站的別的需要登錄的頁面時帶上這個session即可成功訪問了。

代碼如下(具體網站地址已隱去):

import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.URL;

import java.net.URLConnection;

public class Test

{

public static void main(String[] args) throws Exception//以下僅舉個小例子,不處理異常

{

String id="xxxxx";

String passwd="xxxxx";

String loginUrl="http://xxxxx/login.aspx?__VIEWSTATE=dDw2Nzg5Mjk2NTY7O2w8b2s7Pj5OOk%2B5QUCLHuIzBtlhui5aZbY11Q%3D%3D&txt_user="+id+"&txt_password="+passwd+"&ok.x=35&ok.y=12";

URL url = new URL(loginUrl);

URLConnection conn = url.openConnection();

String sessionValue = conn.getHeaderField("Set-Cookie");//獲取session值

String[] sessionId = sessionValue.split(";");

URL newUrl = new URL("http://xxxxx/student_info1.aspx");

URLConnection newConn = newUrl.openConnection();

newConn.setRequestProperty("Cookie", sessionId[0]);

newConn.connect();

BufferedInputStream bis = new BufferedInputStream(newConn.getInputStream());

InputStreamReader inputStreamReader = new InputStreamReader(bis,"utf-8");

BufferedReader br = new BufferedReader(inputStreamReader);

String str = null;

while ((str = br.readLine()) != null)

{

System.out.println(str);//輸出登錄后才能訪問的網頁的html源碼,可以根據需要獲取相關信息

}

}

}

總結

以上是生活随笔為你收集整理的java 登录编程_Java编程通过session访问需要登录的页面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。