本帖最后由 DYTRemix 于 2020-8-11 12:32 编辑
葫芦侠三楼算是国内氛围比较好的一个手机技术社区了, 在52的三楼小伙伴在哪里( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ, 嗨起来来
原理很简单, 通过电脑的模拟器下载打开三楼, 然后抓包它们的接口欧, 我们需要三个接口
1. 登录接口
2. 获取所有板块
3. 签到接口
通过青花瓷抓包 `charles` 可以拿到, 三楼 `android` 接口是 `http` 还是比较简单的, 这里就不细说了(还等啥呢, 免费评分走一波啊(*╹▽╹*))
拿到了接口就简单的, 随便用一个编程语言都可以写了, 这里我用了 `go`(强烈推荐给小伙伴们哦)
=====
下载地址: https://d1y.lanzouj.com/b054kekla 密码:2l5h
下载之后在`upup.exe`的相对目录创建一个 `配置.json` 或者 `conf.json` 文件填入您的用户名和密码还有 `token` 字段
[JavaScript] 纯文本查看 复制代码 {
"username": "用户名",
"password": "密码",
"token": ""
}
然后双击打开, 就会自动登录, 登录之后就会将登录之后的 `token` 写入到你的 `配置.json` 或者 `conf.json` 文件中(这个不用在意)
然后会自动签到所有板块, 嘿嘿, 每日一签到, 水经验, 岂不美滋滋
# 其他问题
1. 然后我并不会盗取您的账号密码, 所有的配置都存在于本地, 所以您可以放心的使用啦~
====
要是评分有 20 个人的话, 我就写个 `android` 版哈, 如果有小老弟对 `py` 版本感兴趣的话, 我也可以写一个哦
==== 后续
应大家需求, 写了一个 `android` 版本, 有点丑, 别介意哈
https://d1y.lanzouj.com/b054kg7kd
密码:4f6d
====
有的小伙伴希望我写一个云函数, 这东西我没接触过, 而且最近在开新坑, 我就把整个逻辑写在这里吧, 希望评论区有大神根据我写的逻辑能写出对应的云函数分享给大家
## 接口
登录接口: http://floor.huluxia.com/account/login/ANDROID/4.0
检测登录接口: http://floor.huluxia.com/user/status/ANDROID/2.1
分类接口: http://floor.huluxia.com/category/list/ANDROID/2.0
签到接口: http://floor.huluxia.com/user/signin/ANDROID/4.0
基础 `querystirng`, 可能是必须传吧
[Golang] 纯文本查看 复制代码 defaultQS := req.QueryParam{
"platform": "2",
"gkey": "000000",
"app_version": "4.0.0.6.2", // 版本号可能会旧
"versioncode": "20141433",
"market_id": "floor_huluxia",
"device_code": "%5Bw%5D02%3A00%3A00%3A00%3A00%3A00-%5Bi%5D008796755300310", // !
}
## 逻辑
先走登录逻辑, post请求, 传递三个参数
account(账号), login_type(这个不管它, 默认2就行), password(这个字段需要md5加密)
[Golang] 纯文本查看 复制代码 var md5 = utils.CreateMd5(password)
var Fbody = fmt.Sprintf(`account=%v&login_type=%v&password=%v`, username, 2, md5)
并且, 这个接口的 `content-type` 必须设置为
[Golang] 纯文本查看 复制代码 t := req.Header{
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", // 设置为 x-www
"User-Agent": "okhttp/3.8.1", // 忽略
}
登录里会有个字段 `status`, 0 表示失败 1 表示成功, 如果成功会返回 `_key` 字段的 `token`, 你需要用某种将其本地数据持久化存储起来
如果按逻辑走的, 程序一开始应该是先检测你是否有 `token` 然后会判断其 `token` 是否过期, 访问 `检测登录接口` 将 `_key` 这个字段带上来, GET 请求
同样的 `status`, 如果是 `0` 就重新走一个登录逻辑重新拿到 `_key`
假设你的 token 可用, 接下来访问分类(板块)接口, 返回的数据有一个 `Categories` 数组, 这就是所有的分类板块了(应该吧, 没仔细研究过)
接下来直接遍历这个 `Categories` 数组就完事, 里面有个 `CategoryID`, 签到需要这个
接下来签到直接把 `_key` 和 `cat_id` 带过去就行了
[Golang] 纯文本查看 复制代码 var Xctx = req.QueryParam{
"_key": token,
"cat_id": id,
}
需要注意一个细节 `cat_id` 为0 不可以签到
具体的代码看这里: https://github.com/huluxia-label/huluxia_upup
就可以哈, 有看不懂的小伙伴可以评论区一起讨论哈
(小爷打工去了, 能不能给个免费的评分呢) |