AkamaiBMP 协议接口
ℹ️ 该接口用于获取AkamaiBMP sensor数据
⚠️ 仅支持IOS的传感器数据,并且你需要自己实现 TLS 请求指纹模拟
获取 Sensor 数据
该任务类型使用独立的endpoint进行获取 /akamaibmp/invoke
参数结构
Param | Type | Required | Note |
---|---|---|---|
type | String | Yes | AntiAkamaiBMPTask |
packageName | String | Yes | AkamaiBMP 移动端 APP的包名 de.zalando.iphone |
version | String | No | AKAMAIBMP的版本号,默认 3.2.6 最高支持 3.3.1 |
deviceId | String | No | 如果想固定sensor中的设备ID,可以传此参数 |
deviceName | String | No | Input fixed deviceInfo,默认:随机。案例:iPhone14,2/16.0.2 具体可以查询iPhone表 |
count | Int64 | No | 一次性获取的sensor梳理,0< count <=50,最多一次性获取50条 |
pow | String | No | 支持:/_bm/get_params 接口 {"mode":1,"nonce":"3764bd11365749ec62974f920eb3614c","ttl":21600,"difficulty":6000,"timeout":100,"n":490,"s_timeout":100,"checksum":"plKZ9lBBJwLeeWRjoaZ4OevBFoPf3EyJIFgp2utWwI3ly34OsW6JluR2nY+lAwapZAcMf/kCo2g5ni6daXPhBSpg=="} 如果传入这个参数,其他参数将被忽略以生成pow字符串 |
支持的版本
下面是已测试通过的APP,其它APP 只要
Akamai Version
相同,应该都能过。
APP(IOS) | Version | Akamai Version | PackageName | Prefix |
---|---|---|---|---|
Adidas | latest | 3.3.2 | com.adidas.app | 4,i |
Groupo | latest | 3.3.1 | com.groupon.grouponapp | 3,i |
RueLala | latest | 3.3.0 | com.retailconvergence.ruelala | 3,i |
LuisaViaRoma | 2.1.25 | 3.3.0 | 3,i | |
Nike | 22.36.1 | 3.2.6 | 2,i | |
Zalando | 22.13.0 | 3.2.4 | 2,i |
请求示例
text
POST https://api.capsolver.com/akamaibmp/invoke
Host: api.capsolver.com
Content-Type: application/json
json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "AntiAkamaiBMPTask",
"packageName": "de.zalando.iphone",
"country": "US",
"version": "3.2.6",
"deviceId": "90F9EAF5-D6E5-4E30-BC8B-B7780AD02600",
"deviceName": "iPhone14,2/16.0.2",
"count": 10
}
}
响应示例
json
{
"errorId": 0,
"success": true,
"state": "ready",
"solution": {
"deviceId": "D7224EA0-4773-4B0A-9DEC-0C61DE8D74B0",
"deviceName": "iPhone14,2/16.0.2",
"sensors": [
"2,i,...$29,17,57",
"2,i,...$29,17,57",
],
"version": "3.2.6"
},
"type": "AntiAkamaiBmpTask"
}
使用 SDK 请求
python
#pip install --upgrade capsolver
#export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "AntiAkamaiBMPTask",
"packageName": "de.zalando.iphone",
"country": "US",
"version": "3.2.6",
"deviceId": "90F9EAF5-D6E5-4E30-BC8B-B7780AD02600",
"deviceName": "iPhone14,2/16.0.2",
"count": 10
})
golang
package main
import (
"fmt"
capsolver_go "github.com/capsolver/capsolver-go"
"log"
)
func main() {
// first you need to install sdk
//go get github.com/capsolver/capsolver-go
//export CAPSOLVER_API_KEY='...' or
//capSolver := CapSolver{apiKey:"..."}
capSolver := capsolver_go.CapSolver{}
solution, err := capSolver.Solve(map[string]any{
"type": "AntiAkamaiBMPTask",
"packageName": "de.zalando.iphone",
"country": "US",
"version": "3.2.6",
"deviceId": "90F9EAF5-D6E5-4E30-BC8B-B7780AD02600",
"deviceName": "iPhone14,2/16.0.2",
"count": 10,
})
if err != nil {
log.Fatal(err)
return
}
fmt.Println(solution)
}