欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java模擬cookie登陸操作

 更新時間:2016年07月27日 12:02:38   作者:prince2270  
這篇文章主要為大家詳細介紹了java模擬cookie登陸操作,模擬登陸,取得cookie以記錄身份,下次請求時發(fā)送cookie以表明身份,感興趣的小伙伴們可以參考一下

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

方法是使用java模擬登陸,登陸后記錄下cookie信息,在下次發(fā)起請求時時將cookie發(fā)送過去用以表明身份,這樣就能夠訪問帶有權限的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) {
            //發(fā)送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以記錄身份,下次請求時發(fā)送cookie以表明身份。

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

相關文章

  • 提高開發(fā)效率Live?Templates使用技巧詳解

    提高開發(fā)效率Live?Templates使用技巧詳解

    這篇文章主要為大家介紹了提高開發(fā)效率Live?Templates使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • MyBatis獲取自動生成的(主)鍵值的方法

    MyBatis獲取自動生成的(主)鍵值的方法

    本文主要介紹了MyBatis獲取自動生成的(主)鍵值的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • SpringBoot整合WebService服務的實現(xiàn)代碼

    SpringBoot整合WebService服務的實現(xiàn)代碼

    WebService是一個SOA(面向服務的編程)的架構,它是不依賴于語言,不依賴于平臺,可以實現(xiàn)不同的語言間的相互調用,通過Internet進行基于Http協(xié)議的網絡應用間的交互,這篇文章主要介紹了SpringBoot整合WebService服務的實例代碼,需要的朋友可以參考下
    2022-02-02
  • Java實現(xiàn)AWT四大事件的詳細過程

    Java實現(xiàn)AWT四大事件的詳細過程

    AWT的事件處理是一種委派式事件處理方式:普通組件(事件源)將整個事件處理委托給特定的對象(事件監(jiān)聽器);當該事件源發(fā)生指定的事件時,就通知所委托的事件監(jiān)聽器,由事件監(jiān)聽器來處理這個事件
    2022-04-04
  • Java讀取網絡文件的實例代碼

    Java讀取網絡文件的實例代碼

    這篇文章主要介紹了Java讀取網絡文件的實例代碼,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • SpringCloud?Tencent?全套解決方案源碼分析

    SpringCloud?Tencent?全套解決方案源碼分析

    Spring Cloud Tencent實現(xiàn)Spring Cloud標準微服務SPI,開發(fā)者可以基于Spring Cloud Tencent開發(fā)Spring Cloud微服務架構應用,Spring Cloud Tencent 的核心依托騰訊開源的一站式服務發(fā)現(xiàn)與治理平臺 Polarismesh,實現(xiàn)各種分布式微服務場景,感興趣的朋友一起看看吧
    2022-07-07
  • Java文件、文件夾權限修改的兩種方法

    Java文件、文件夾權限修改的兩種方法

    這篇文章主要給大家介紹了關于Java文件、文件夾權限修改的兩種方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Java具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • SpringBoot實現(xiàn)登錄攔截器超詳細教程分享

    SpringBoot實現(xiàn)登錄攔截器超詳細教程分享

    對于管理系統(tǒng)或其他需要用戶登錄的系統(tǒng),登錄驗證都是必不可少的環(huán)節(jié),尤其在?SpringBoot?開發(fā)的項目中。本文為大家準備了超詳細的SpringBoot實現(xiàn)登錄攔截器方法,快收藏一波吧
    2023-02-02
  • Java?LocalDateTime常用操作方法

    Java?LocalDateTime常用操作方法

    這篇文章主要介紹了Java?LocalDateTime實用方法,Java8提供了新的時間接口LocalDateTime,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • IDEA的Mybatis Log Plugin插件配置和使用詳解

    IDEA的Mybatis Log Plugin插件配置和使用詳解

    這篇文章主要介紹了IDEA的Mybatis Log Plugin插件配置和使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09

最新評論