一、接口分析
1、https://www.zhipin.com/wapi/zppassport/captcha/randkey
参数名 | 值 | 描述 |
---|---|---|
qrId | bosszp – e76da289 – 2a67 – 4ce6 – 97f3 – 53976b6f236a | 可能是与特定二维码相关的唯一标识。 |
randKey | PX8marElqJUwpXDfWJlQv159fNCrqpYs | 随机生成的密钥,可能用于身份验证等多种用途。 |
secretKey | KnzeFA7h | 可能是用于加密或特定安全验证的密钥。 |
shortRandKey | bosszp – i8mk8soFc6f4oHgH | 较短的随机标识,用途可能与较长的随机密钥类似,但在特定场景下使用更加便捷。 |
2、生成qr:
依赖randkey接口提供的qrId生成二维码
http://www.zhipin.com/wapi/zpweixin/qrcode/getqrcode?content=${qrId}&w=200&h=200
3、scanpending:

3、scanSecond:
这个是扫描前的轮询方法。如果你不扫描,它就会一直轮询下去,这里关键的地方是secindUuid和Ue请求:
async function scanSecond(param) {
if (!this.secondScanTimer) {
return;
}
try {
const response = await Ue({ uuid: this.secondUuid });
const { scaned } = response;
if (scaned) {
if (this.secondScanTimer) {
clearTimeout(this.secondScanTimer);
}
await this.scanGetHeadImg();
await this.scanLogin(param);
} else {
await this.scanSecond(param);
}
} catch (error) {
await this.scanSecond(param);
}
}
3、设置Zp_token的接口,这个接口会使用wt2 获取token并放在cookie中 存放的key为:bst
https://www.zhipin.com/wapi/zppassport/set/zpToken
这个接口中的response字段Set-Cookie储存了Zp_token的信息
4、用于再次获取wt2:
http://alaya.zone:4001/wapi/zppassport/get/wt
似乎用于实现心跳
http://alaya.zone:4001/wapi/zpgeek/pc/recommend/job/list.json
参数名称 | 类型 | 说明 |
---|---|---|
city | String | 城市。空字符串表示不限制城市。 |
experience | String | 工作经验。空字符串表示不限制工作经验。 |
payType | String | 薪酬类型。空字符串表示不限制薪酬类型。 |
partTime | String | 是否兼职。空字符串表示不限制是否为兼职。 |
degree | String | 学历要求。空字符串表示不限制学历要求。 |
industry | String | 行业类别。空字符串表示不限制行业。 |
scale | String | 公司规模。空字符串表示不限制公司规模。 |
salary | String | 工资范围。空字符串表示不限制工资范围。 |
jobType | String | 工作类型。空字符串表示不限制工作类型。 |
encryptExpectId | String | 加密后的用户期望 ID,用于推荐相关的职位。 |
page | Number | 页码,表示请求第几页的数据。 |
pageSize | Number | 每页显示的职位数量。 |

“clRwXUJBK1VKK0k0IWFbbQ==”