国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java模擬cookie登陸操作

2019-11-26 14:01:19
字體:
來源:轉載
供稿:網友

在使用java訪問URL時,如果該URL需要身份驗證,那么就不能夠直接訪問,因為沒有登陸。那么,如何解決這個問題呢?

方法是使用java模擬登陸,登陸后記錄下cookie信息,在下次發起請求時時將cookie發送過去用以表明身份,這樣就能夠訪問帶有權限的URL了。

下面首先介紹使用java模擬登陸。 

// 連接地址(通過閱讀html源代碼獲得,即為登陸表單提交的URL) String surl = "http://login.goodjobs.cn/index.php/action/UserLogin"; /**  * 首先要和URL下的URLConnection對話。 URLConnection可以很容易的從URL得到。比如: // Using  * java.net.URL and //java.net.URLConnection  */ URL url = new URL(surl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); /**  * 然后把連接設為輸出模式。URLConnection通常作為輸入來使用,比如下載一個Web頁。  * 通過把URLConnection設為輸出,你可以把數據向你個Web頁傳送。下面是如何做:  */ connection.setDoOutput(true); /**  * 最后,為了得到OutputStream,簡單起見,把它約束在Writer并且放入POST信息中,例如: ...  */ OutputStreamWriter out = new OutputStreamWriter(connection  .getOutputStream(), "GBK");        //其中的memberName和password也是閱讀html代碼得知的,即為表單中對應的參數名稱 out.write("memberName=myMemberName&password=myPassword"); // post的關鍵所在! // remember to clean up out.flush(); out.close(); // 取得cookie,相當于記錄了身份,供下次訪問時使用 String cookieVal = connection.getHeaderField("Set-Cookie");

登陸成功后,即可訪問其他URL了。 

 String s = "http://user.goodjobs.cn/dispatcher.php/module/Resume/action/Preview"; //重新打開一個連接        url = new URL(s); HttpURLConnection resumeConnection = (HttpURLConnection) url  .openConnection(); if (cookieVal != null) {            //發送cookie信息上去,以表明自己的身份,否則會被認為沒有權限  resumeConnection.setRequestProperty("Cookie", cookieVal); } resumeConnection.connect(); InputStream urlStream = resumeConnection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(  new InputStreamReader(urlStream)); String ss = null; String total = ""; while ((ss = bufferedReader.readLine()) != null) {  total += ss; } IOUtils.write(total, new FileOutputStream("d:/index.html")); bufferedReader.close(); 

通過上述方式,就能訪問帶有權限控制的URL了。思路即為:模擬登陸,取得cookie以記錄身份,下次請求時發送cookie以表明身份。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮阳县| 福贡县| 宜黄县| 水富县| 河源市| 马尔康县| 介休市| 海安县| 南昌市| 徐州市| 化隆| 六枝特区| 兴业县| 资兴市| 南安市| 青河县| 五莲县| 博乐市| 漳浦县| 浮梁县| 搜索| 嘉禾县| 黑水县| 北辰区| 左权县| 双江| 辽阳县| 原阳县| 类乌齐县| 固原市| 丹凤县| 镇雄县| 双柏县| 汕尾市| 凤阳县| 新竹县| 鹰潭市| 平邑县| 龙门县| 大姚县| 平乐县|