EveryInfra

旋转对齐(把图转正,返回角度)

旋转对齐(把图转正,返回角度)不限单一厂商(题型能力)——百度系登录页最典型,另有若干中文门户与海外站点自研一张图进、一个角度出:把被随机转过的图转正,返回需要旋转的度数一张(常被裁成圆形的)照片被随机转了个角度,下方一条滑轨或一对旋转按钮;用户拖到「看起来是正的」为止。

正在查询可用性…$1.53 / 1K 次按成功计费,失败退款

接口规格

项目
typerotate
必填参数body
可选参数
返回一个数字solution.angle
怎么用这个解需要顺时针旋转的角度(整数,正数为顺时针)
价格$1.53 / 1K 次 —— 按成功计费,没解出来退款

参数去页面哪里取

下面全部是可以直接照做的定位方法 —— DOM 属性名、JS 全局变量名、script 上的 query 参数。

旋转题几乎都是单个 `<img>` 或 `<canvas>`,不像滑块那样有两张图。

  • <img> 实现直接读 img.src(百度那类的图由 passport.baidu.com 下发,HostReferer 要跟着带,否则取回来是空图)。
  • <canvas> 实现用 .toDataURL('image/png')
  • 拖动件是滑柄,百度那类的 class 以 passMod_slide-btn 一族命名;先量清「滑轨满程对应多少度」(多数实现满程 = 360°),再按比例把度数换算成位移。

一行拿图,同时把「是不是被 CSS 裁圆了」「有没有已经挂上 transform」一起查出来:

[...document.querySelectorAll('img,canvas')].map(e=>({cls:e.className,natural:[e.naturalWidth||e.width,e.naturalHeight||e.height],radius:getComputedStyle(e).borderRadius,transform:getComputedStyle(e).transform,data:e.tagName==='CANVAS'?e.toDataURL():e.src}))

提交前去掉 data:image/png;base64, 前缀和换行,放 body

调用示例

一个端点解全部验证码类型 —— 换一种验证码只改 type 这一个字段。

请求
curl -X POST https://api.everyinfra.com/api/v1/captcha \  -H "Authorization: Bearer omg_你的KEY" \  -H "Content-Type: application/json" \  -d '{"type":"rotate","body":"<body>"}'
响应
{  "solution": {    "angle": "…"  },  "billing": { "charged": true, "credits": 110 }}

怎么确认目标站用的就是它

模型直接回归「这张图相对正向被转了多少度」,不做内容识别、不判断图里是什么。返回一个整数角度,客户再把这个角度换算成滑轨位移或点击次数。

容易搞混的

Arkose / FunCaptcha 里「把动物转正」的那种游戏 —— 那是端到端过盾,要 sitekey 和页面 URL、交付可提交的 token;这条只给一张图回一个角度。

常见部署场景

已知的坑

单位是度不是弧度,范围 0–360,正数代表顺时针。0° 与 360° 等价。

返回的是「还需要转多少」,不是「当前被转了多少」 —— 两者互为补角,方向理解反了会稳定偏成 360−θ。接入时拿一张肉眼能判正反的图对一次即可确认。

很多站不是连续旋转,而是「每点一次转固定角度」:这时要先数清一圈几步(例如 8 步 = 每步 45°),把返回的度数除以步长再四舍五入成点击次数。把度数直接当像素或当次数用必错。

别提交被 CSS 裁圆后的截图 —— border-radius 只是显示层效果,截图会切掉四角并在边缘留抗锯齿灰边,精度明显下降。取 src 指向的原图。

页面可能已经给 <img> 挂了 transform: rotate(...);截渲染结果等于把当前角度也叠了进去,读原图才是干净输入。

只处理单张图,契约是一个角度数。有的题是给一排图让你挑「哪张是正的」,那是另一种玩法,不是这条;多图请拆成多次调用。

本能力只处理单张图,契约是一个角度数 —— 多图请拆成多次调用

正数代表顺时针

常见问题

旋转对齐(把图转正,返回角度) 要传哪些参数?

必填 body,没有可选参数。请求里 type 传 rotate。

解出来的东西怎么用?

返回一个数字,取 solution.angle。需要顺时针旋转的角度(整数,正数为顺时针)

passport.baidu.com 要去页面的哪里找?

重点找 passport.baidu.com、passMod_slide-btn、img.src。本页「参数去页面哪里取」一节写了全部位置与取法,含可直接粘进控制台的一行命令。

怎么确认目标站用的就是 旋转对齐(把图转正,返回角度)?

Arkose / FunCaptcha 里「把动物转正」的那种游戏 —— 那是端到端过盾,要 sitekey 和页面 URL、交付可提交的 token;这条只给一张图回一个角度。

有什么容易踩的坑?

单位是度不是弧度,范围 0–360,正数代表顺时针。0° 与 360° 等价。

多少钱一次,失败扣不扣?

$1.53 / 1K 次。按成功计费 —— 没解出来一律退款,所以失败不花钱。账单按次记,标价按每千次是为了让量级读得出来。

开始接入

一个端点覆盖全部验证码类型,按成功计费,失败与空结果一律退款。