Java 模擬cookie登陸簡(jiǎn)單操作示例
本文實(shí)例講述了Java 模擬cookie登陸簡(jiǎn)單操作。分享給大家供大家參考,具體如下:
最近在做將禪道上的功能接口做到手機(jī)端,在做登陸的時(shí)候,看了禪道的源碼,是由cookie來登陸,所以要做一個(gè)模擬cookie登陸的接口,將拿到的cookie放到每次接口請(qǐng)求的頭部中去,就可以正常訪問了。
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* @Author: jljiang
* @Description:Java 模擬cookie登陸
* @Date: Created in 2019/1/16 15:14
*/
public class ImitateLoginController {
public static void main(String args[]) throws Exception {
//登陸接口地址
String loginStr = "http://zenta.51fb.com/index.php?m=user&f=login";
/**
* 首先要和URL下的URLConnection對(duì)話。 URLConnection可以很容易的從URL得到。比如: // Using
* java.net.URL and //java.net.URLConnection
*/
URL url = new URL(loginStr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(connection
.getOutputStream(), "GBK");
//其中的account和password可以通過控制臺(tái)去查看,或者看頁面html去查看
out.write("account=you-user-name&password=you-password");
// remember to clean up
out.flush();
out.close();
// 取得cookie,使用該cookie放在頭部就可以訪問其他需要登陸才可以訪問的接口了
String cookieVal = connection.getHeaderField("Set-Cookie");
/*------------------------------------訪問其他接口-------------------------------------------------*/
String otherUrl = "http://zenta.51fb.com/index.php?m=bug&f=browse";
url = new URL(otherUrl);
HttpURLConnection otherConnection = (HttpURLConnection) url.openConnection();
if(cookieVal != null){
otherConnection.setRequestProperty("Cookie",cookieVal);
}
otherConnection.connect();
InputStream urlStream = otherConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(urlStream));
String content = null;
StringBuilder total = new StringBuilder();
while ((content = bufferedReader.readLine()) != null) {
total.append(content);
}
bufferedReader.close();
System.out.println(content);
}
}
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
SpringBoot?pdf打印及預(yù)覽(openhtmltopdf+freemarker)
這篇文章主要介紹了SpringBoot?pdf打印及預(yù)覽(openhtmltopdf+freemarker)2023-05-05
Java數(shù)據(jù)結(jié)構(gòu)BFS廣搜法解決迷宮問題
廣搜BFS的基本思想是: 首先訪問初始點(diǎn)v并將其標(biāo)志為已經(jīng)訪問。接著通過鄰接關(guān)系將鄰接點(diǎn)入隊(duì)。然后每訪問過一個(gè)頂點(diǎn)則出隊(duì)。按照順序,訪問每一個(gè)頂點(diǎn)的所有未被訪問過的頂點(diǎn)直到所有的頂點(diǎn)均被訪問過。廣度優(yōu)先遍歷類似與層次遍歷2022-04-04
CountDownLatch和Atomic原子操作類源碼解析
這篇文章主要為大家介紹了CountDownLatch和Atomic原子操作類的源碼解析以及理解應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
手把手教你如何利用SpringBoot實(shí)現(xiàn)審核功能
審核功能經(jīng)過幾個(gè)小時(shí)的奮戰(zhàn)終于完成了,現(xiàn)在我就與廣大網(wǎng)友分享我的成果,這篇文章主要給大家介紹了關(guān)于如何利用SpringBoot實(shí)現(xiàn)審核功能的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
淺談對(duì)象數(shù)組或list排序及Collections排序原理
下面小編就為大家?guī)硪黄獪\談對(duì)象數(shù)組或list排序及Collections排序原理。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
SpringBoot實(shí)現(xiàn)elasticsearch索引操作的代碼示例
這篇文章主要給大家介紹了SpringBoot如何實(shí)現(xiàn)elasticsearch 索引操作,文中有詳細(xì)的代碼示例,感興趣的同學(xué)可以參考閱讀下2023-07-07
詳解Spring中實(shí)現(xiàn)接口動(dòng)態(tài)的解決方法
最近在工作遇到的一個(gè),發(fā)現(xiàn)網(wǎng)上的資料較少,所以想著總結(jié)分享下,下面這篇文章主要給大家介紹了關(guān)于Spring中實(shí)現(xiàn)接口動(dòng)態(tài)的解決方法,文中通過完整的示例代碼給大家介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07

