<progress id="yueoz"><code id="yueoz"><xmp id="yueoz">

      1. 吾愛破解 - LCG - LSG |安卓破解|病毒分析|www.13ee.cn

         找回密碼
         注冊[Register]

        QQ登錄

        只需一步,快速開始

        搜索
        查看: 4452|回復: 75
        上一主題 下一主題

        [原創] 學小易接口抓取與分析

          [復制鏈接]
        跳轉到指定樓層
        樓主
        zxm870973 發表于 2020-6-22 14:10 回帖獎勵
        由于本人最近上網課有好多題目不會做,然后就有好友向我推薦“學小易”這款搜題軟件。
        用著用著發現這款軟件很好,基本所有的題目都能搜索到,慕課上的或者其他題目它都能搜索到。
        美中不足就是發現學小易沒有電腦端,每次搜題都要把題目發送到手機搜索,覺得很麻煩,所以就有了這篇文章。

        第1步,打開MUMU模擬器,啟動黃鳥。

        第2步,打開學小易進行搜題,比如我隨便搜索一下。

        第3步,打開黃鳥,查看抓包內容,可以發現這里我們發送的是post請求

        然后post請求參數如下:

        發現學小易這邊的返回的都是明文,并沒有加密

        我們轉碼看一下,直接就可以得到明文了并不需要解密。



        通過我反復測試分析,發現有些請求并不需要都傳過去,并且可以直接通過get請求獲取結果。


        可見,只需請求 http://app.51xuexiaoyi.com/api/v1/searchQuestion?keyword=你需要搜索的題目
        然后在header傳入你的token,app-version就可以正確的請求接口。接下來我們就可以自制一個自己專用的搜題軟件了。
        java 請求核心代碼如下:

        作者自用的PC版搜題軟件如下:嘿嘿!



        免費評分

        參與人數 3吾愛幣 +9 熱心值 +3 收起 理由
        鵬哥666 + 1 + 1 謝謝@Thanks!
        Hmily + 7 + 1 歡迎分析討論交流,吾愛破解論壇有你更精彩!
        liyizhuang + 1 + 1 用心討論,共獲提升!

        查看全部評分

        發帖前要善用論壇搜索功能,那里可能會有你要找的答案或者已經有人發布過相同內容了,請勿重復發帖。

        推薦
        yongee 發表于 2020-6-24 11:38
        我剛把篇帖子里的python代碼給優化啦一下
        我是加啦一個自己登錄的地方 這樣每個人不用去自己抓token 用自己的賬號搜 也不出意外
        [Python] 純文本查看 復制代碼
        import requests
        
        import json
        import re
        while True:
            user = input("請輸入你的學小易賬號:");
            password = input("請輸入你的學小易密碼:");
            print('正在登陸中...請稍等!')
            url0='https://app.51xuexiaoyi.com/api/v1/login'
            data0 = {
                "username":user,
                "password":password
                     }
            headers0 = {
                'platform':'android',
                'app-version':'1.0.6',
                'content-type':"application/json; charset=utf-8",
                'accept-encoding':'gzip',
                'user-agent':'okhttp/3.11.0'
            }
            denglu=requests.post(url0, headers=headers0,json=data0).text.encode('utf-8').decode('unicode_escape')
            print(denglu)
            if '登錄成功' in denglu:
                tokens=re.search(r'"api_token":"(.*)","userid"',denglu).group(1)
                #print(tokens)
                break
        while True:
            a = input("請輸入需要查的題目:");
            url = 'https://app.51xuexiaoyi.com/api/v1/searchQuestion'
            data = {
                'keyword': a
            }
            headers = {
                'token': tokens,
                'device': '',
                'platform': 'android',
                'User-Agent': 'okhttp/3.11.0',
                'app-version': '1.0.6',
        
                'Content-Type': "application/x-www-form-urlencoded; charset=UTF-8",
                'Accept-Encoding': "gzip, deflate, br"
            }
            r = requests.post(url, headers=headers, data=data)
            # print(r1.json())
        
            html1_str = json.dumps(r.json(),sort_keys = True, indent = 4, separators = (',', ':'))
            str =html1_str.encode('utf-8').decode('unicode_escape')
            forword = re.sub(r'"ey(.*)",',' ', str)
            print(forword)
        推薦
        憶白學渣 發表于 2020-6-22 15:11
        隔壁家的王二狗 發表于 2020-6-22 15:05
        老哥完整代碼發一下我去試試

        [Python] 純文本查看 復制代碼
        import requests
        
        import json
        
        
        
        while True:
            a=input("請輸入需要查的題目:");
            url='https://app.51xuexiaoyi.com/api/v1/searchQuestion'
            data={
                'keyword': a
            }
            headers = {
                'token':'你自己的',
                'device':'這里應該也是你自己的,忘了',
                'platform':'android',
                'User-Agent':'okhttp/3.11.0',
                'app-version':'1.0.6',
                
                'Content-Type': "application/x-www-form-urlencoded; charset=UTF-8",
                'Accept-Encoding': "gzip, deflate, br"
                }
            r = requests.post(url,headers=headers,data=data)
            #print(r1.json())
            
            html1_str=json.dumps(r.json(), sort_keys=True, indent=4, separators=(',', ':'))
            print(html1_str.encode('utf-8').decode('unicode_escape'))
            
        
        
        推薦
        niebaohua 發表于 2020-6-22 15:25
        推薦
         樓主| zxm870973 發表于 2020-6-22 15:04 |樓主
        wyc1122wyc 發表于 2020-6-22 14:59
        可否提供源代碼。。

        改天寫個簡單的java版demo吧,但是實際還是用的自己的token,只是不需要打開手機再搜題
        推薦
        moyuwl 發表于 2020-7-2 07:46
        哈哈呵呵噠噠 發表于 2020-6-30 20:04
        大佬手機小黃鳥是不是要vpn過檢啊,為什么我抓學小易的時候都直接網絡異常,軟件能不能分享一下

        用模擬器搞
        沙發
        憶白學渣 發表于 2020-6-22 14:17
        我之前用Python搞過一次,第二天就賬號異常了
        3#
        憶白學渣 發表于 2020-6-22 14:19
        4#
         樓主| zxm870973 發表于 2020-6-22 14:26 |樓主
        憶白學渣 發表于 2020-6-22 14:17
        我之前用Python搞過一次,第二天就賬號異常了

        我都掛我服務器好久了,今天還能用啊,你是不是請求太頻繁了
        5#
         樓主| zxm870973 發表于 2020-6-22 14:27 |樓主
        憶白學渣 發表于 2020-6-22 14:17
        我之前用Python搞過一次,第二天就賬號異常了

        你是不是準備爬它題庫 我就是平常搜題自己用用
        6#
        憶白學渣 發表于 2020-6-22 14:28
        zxm870973 發表于 2020-6-22 14:27
        你是不是準備爬它題庫 我就是平常搜題自己用用

        唔,可能是
        7#
        戒心 發表于 2020-6-22 14:40
        他這個題庫實屬龐大
        8#
        wyc1122wyc 發表于 2020-6-22 14:59
        可否提供源代碼。。
        9#
        KSPprince 發表于 2020-6-22 15:01
        這樣的題庫包含了什么科目,是所有科目都支持嗎
        10#
         樓主| zxm870973 發表于 2020-6-22 15:03 |樓主
        KSPprince 發表于 2020-6-22 15:01
        這樣的題庫包含了什么科目,是所有科目都支持嗎

        你可下載手機版的學小易搜索試試,題庫確實很不錯,但是一般人做題很少用手機搜索,相對較麻煩
        您需要登錄后才可以回帖 登錄 | 注冊[Register]

        本版積分規則 警告:本版塊禁止灌水或回復與主題無關內容,違者重罰!

        快速回復 收藏帖子 返回列表 搜索

        RSS訂閱|小黑屋|聯系我們|吾愛破解 - LCG - LSG ( 京ICP備16042023號 | 京公網安備 11010502030087號 )

        GMT+8, 2020-7-20 20:11

        Powered by Discuz!

        Copyright © 2001-2020, Tencent Cloud.

        快速回復 返回頂部 返回列表
        快三开奖结果