java模仿cookie上岸操作。本站提示廣大學習愛好者:(java模仿cookie上岸操作)文章只能為提供參考,不一定能成為您想要的結果。以下是java模仿cookie上岸操作正文
在應用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以注解身份。
以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。