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

java模擬cookie登陸操作

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

在使用java訪問URL時(shí),如果該URL需要身份驗(yàn)證,那么就不能夠直接訪問,因?yàn)闆]有登陸。那么,如何解決這個(gè)問題呢?

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

 /**
  * 然后把連接設(shè)為輸出模式。URLConnection通常作為輸入來使用,比如下載一個(gè)Web頁。
  * 通過把URLConnection設(shè)為輸出,你可以把數(shù)據(jù)向你個(gè)Web頁傳送。下面是如何做:
  */
 connection.setDoOutput(true);
 /**
  * 最后,為了得到OutputStream,簡單起見,把它約束在Writer并且放入POST信息中,例如: ...
  */
 OutputStreamWriter out = new OutputStreamWriter(connection
  .getOutputStream(), "GBK");
        //其中的memberName和password也是閱讀html代碼得知的,即為表單中對應(yīng)的參數(shù)名稱
 out.write("memberName=myMemberName&password=myPassword"); // post的關(guān)鍵所在!
 // remember to clean up
 out.flush();
 out.close();

 // 取得cookie,相當(dāng)于記錄了身份,供下次訪問時(shí)使用
 String cookieVal = connection.getHeaderField("Set-Cookie");

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

 String s = "http://user.goodjobs.cn/dispatcher.php/module/Resume/action/Preview";
 //重新打開一個(gè)連接
        url = new URL(s);
 HttpURLConnection resumeConnection = (HttpURLConnection) url
  .openConnection();
 if (cookieVal != null) {
            //發(fā)送cookie信息上去,以表明自己的身份,否則會被認(rèn)為沒有權(quán)限
  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(); 

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

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

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

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

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

    Java讀取網(wǎng)絡(luò)文件的實(shí)例代碼

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

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

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

    Java文件、文件夾權(quán)限修改的兩種方法

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

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

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

    Java?LocalDateTime常用操作方法

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

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

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

最新評論