autojs QQ群post簽到(六)

接著上一篇autojs QQ群post簽到(五)

我們把前五節(jié)課的代碼整理一下

要使用這段代碼,更改qq群號和qq號就可以了.
autojs交流群: 284029554
以下代碼測試時(shí)間20190510 11:28可用.

"ui";
var 你的qq群號碼 = '123'
var 你的QQ號碼 = '456'
ui.layout(
  <vertical bg='#436EEE'>
       <button id="checkIn" textSize="16sp" margin="8" gravity="center" >登錄空間后點(diǎn)此簽到</button>
       <button id="clearCookie" textSize="16sp" margin="8" gravity="center" >清除cookie</button>
      <ScrollView margin='20 20 20 20' >
          <vertical layout_gravity="center" >
              <webview id="webview" h="*" margin="0 16" />
          </vertical>
      </ScrollView>
  </vertical>
)
var url = 'https://user.qzone.qq.com'
// cookie管理器
http.__okhttp__.muteClient(new OkHttpClient.Builder().cookieJar(web.webkitCookieJar))
var cookieManager = web.cookieManager;
// 刪除cookie
ui.clearCookie.on("click", () => {
  cookieManager.removeAllCookie();
  cookieManager.removeSessionCookie();
  ui.webview.loadUrl(url);
  ui.checkIn.setText('cookie已刪除,請登錄QQ后點(diǎn)此簽到')
  setTimeout(
    function () {
      ui.checkIn.setText('登錄空間后點(diǎn)此簽到')
    }, 3000
  )
})
// 點(diǎn)擊簽到
ui.checkIn.on("click", () => {
  var ck = getCookie(url)
  log('點(diǎn)擊簽到后,提取的cookie=')
  log(ck)
  var key = extrackSkeyAndP_skey(ck)
  config.skey = key.skey
  config.p_skey = key.p_skey
  qqcheckIn(config)
})
//判斷本地有沒有存儲cookie, 有的話直接點(diǎn)擊按鈕簽到, 沒有就登錄后提取cookie,然后簽到
var storage = storages.create("qzoneCookie");
var hasKey = storage.get("skey")
var skey = null
var p_skey = null
var config = {
  skey: skey,
  p_skey: p_skey,
  你的qq群號碼: 你的qq群號碼,
  你的QQ號碼: 你的QQ號碼
}
if (hasKey) {
  ui.checkIn.setText('cookie存在,直接點(diǎn)此簽到')
  config.skey = storage.get("skey")
  config.p_skey = storage.get("p_skey")
} else {
  ui.webview.loadUrl(url);
}
// 提取cookie
function getCookie(url) {
  var ck = cookieManager.getCookie(url)
  return ck
}
// 從cookie中提取Skey, P_skey
function extrackSkeyAndP_skey(ck) {
  var keyReg = /(skey|p_skey)=.+?(;|$)/g
  var key = ck.match(keyReg)
  var skey = null;
  var p_skey = null;
  for (let i = 0; i < key.length; i++) {
    var v = key[i]
    var newArr = v.split('=')
    if (newArr[0] == "skey") {
      skey = newArr[1]
    } else if (newArr[0] == "p_skey") {
      p_skey = newArr[1]
    } else {
      alert('好像是其他怪怪的東西,你自己寫cookie提取key吧')
      log(ck)
      exit()
    }
  }
  var result = {
    skey: skey.substr(0, skey.length - 1),
    p_skey: p_skey.replace(';', '')
  }
  storage.put("skey", result.skey);
  storage.put("p_skey", result.p_skey);
  return result
}
// qq群簽到
function qqcheckIn(config) {
  var skey = config.skey
  var p_skey = config.p_skey
  var 你的qq群號碼 = config.你的qq群號碼
  var 你的QQ號碼 = config.你的QQ號碼
  var url = "https://qun.qq.com/cgi-bin/qiandao/sign/publish"
  var headers = {
    "Cookie": "uin=o" + 你的QQ號碼 + "; skey=" + skey + "; p_uin=o" + 你的QQ號碼 + "; p_skey=" + p_skey
  }

  function getGTK(skey) {
    var str = skey
    var hash = 5381;
    for (var i = 0, len = str.length; i < len; ++i) {
      hash += (hash << 5) + str.charAt(i).charCodeAt();
    }
    return hash & 0x7fffffff;
  }
  var form = {
    "bkn": getGTK(skey),
    "template_data": "",
    "gallery_info": {
      'category_id': 5,
      'page': 0,
      'pic_id': 122
    },
    "template_id": "3",
    "gc": 你的qq群號碼,
    "client": "2",
    "lgt": "0",
    "lat": "0",
    "poi": "",
    "pic_id": "",
    "text": "post簽到: 四阿哥",
  }
  log('url=', url)
  log('form=', form)
  log('headers=', headers)
  http.post(
    url, form, {
      headers: headers
    },
    function (res, err) {
      if (err) {
        console.error(err);
        return;
      }
      log("code = " + res.statusCode);
      var html = res.body.string()
      log(html)
      alert('簽到完畢')
    }
  )
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嘱吗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子颠锉,更是在濱河造成了極大的恐慌祟峦,老刑警劉巖染乌,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胆胰,死亡現(xiàn)場離奇詭異赞枕,居然都是意外死亡味悄,警方通過查閱死者的電腦和手機(jī)草戈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來傍菇,“玉大人猾瘸,你說我怎么就攤上這事《埃” “怎么了牵触?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長咐低。 經(jīng)常有香客問我揽思,道長,這世上最難降的妖魔是什么见擦? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任钉汗,我火速辦了婚禮羹令,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘损痰。我一直安慰自己福侈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布卢未。 她就那樣靜靜地躺著肪凛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辽社。 梳的紋絲不亂的頭發(fā)上伟墙,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機(jī)與錄音滴铅,去河邊找鬼戳葵。 笑死,一個(gè)胖子當(dāng)著我的面吹牛汉匙,可吹牛的內(nèi)容都是我干的拱烁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼噩翠,長吁一口氣:“原來是場噩夢啊……” “哼邻梆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起绎秒,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎尼摹,沒想到半個(gè)月后见芹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蠢涝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年玄呛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片和二。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡徘铝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惯吕,到底是詐尸還是另有隱情惕它,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布废登,位于F島的核電站淹魄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏堡距。R本人自食惡果不足惜甲锡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一兆蕉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缤沦,春花似錦虎韵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呆奕,卻和暖如春养晋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背梁钾。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工绳泉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人姆泻。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓零酪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拇勃。 傳聞我的和親對象是個(gè)殘疾皇子四苇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355