Skip to content
On this page

FunCaptcha 协议接口

⚠️ 通过 createTask 创建任务, 然后通过 getTaskResult 获取识别结果

任务类型type如下

  • FunCaptchaTaskProxyLess 是用服务器内置代理

创建任务

通过 createTask 创建任务

参数结构

属性类型Required说明
typeStringYesFunCaptchaTaskProxyLess
websiteURLStringYesFunCaptcha 网页地址,一般固定值。
websitePublicKeyStringYesFunCaptcha 网站密钥,固定值。
dataStringNoAdditional parameter that may be required by FunCaptcha implementation. Use this property to send "blob" value as a stringified array. See example how it may look like. {"\blob\":\"HERE_COMES_THE_blob_VALUE\"}
funcaptchaApiJSSubdomainStringNoA special subdomain of funcaptcha.com, from which the JS captcha widget should be loaded. Most FunCaptcha installations work from shared domains.
proxyStringNo学习如何使用代理

请求示例

text
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
json
{
  "clientKey": "YOUR_API_KEY_HERE",
  "task": {
    "type": "FunCaptchaTaskProxyLess",
    "websiteURL": "",
    "websitePublicKey": "",
  }
}

响应示例

json
{
    "errorId": 0,
    "status": "idle",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" // 请记录此ID
}

获取结果

使用 getTaskResult 方法获取识别结果

根据系统负载,您将在 1s20s 的时间间隔内得到结果

请求示例

json
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json

{
    "clientKey": "YOUR_API_KEY",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

响应示例

json
{
    "errorId": 0,
    "solution": {
        "token": "3AHJ_q25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU......"
    },
    "status": "ready"
}

使用 SDK 请求

python
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'

import capsolver

# capsolver.api_key = "..."
solution = capsolver.solve(
    "type":"FunCaptchaTaskProxyless",
    "websitePublicKey": "",
    "websiteURL": "",
)
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":             "FunCaptchaTaskProxyLess",
		"websitePublicKey": "xxxx-xxxx-xxxx",
		"websiteURL":       "xxxx-xxxx-xxxx",
	})
	if err != nil {
		log.Fatal(err)
		return
	}
	fmt.Println(solution)
}