• API接口状态
  • 浏览器
    • 启动浏览器
    • 关闭浏览器
    • 检查启动状态
  • 分组管理
    • 添加分组
    • 修改分组
    • 查询分组
  • 账号管理
    • 添加账号
    • 修改账号
    • 查询账号
    • 删除账号
    • 更新账号分组
    • 删除账号缓存
  • 参数对象
    • user_proxy_config
    • fingerprint_config
  • 附录
    • 国家码
    • 时区
    • 语言
    • 字体
  • 脚本样例

AdsPower Local API V1

功能概述

AdsPower支持本地Local API的功能,帮助用户通过程序化的方式来读写账号配置信息、启动和关闭浏览器、查询账号等基础API功能,还可以配合Selenium和Puppeteer等自动化框架来实现浏览器操作的自动化。

使用方法

  • 购买AdsPower团队协作版的用户具备使用API的权限
  • 启动AdsPower应用程序,登录具有API套餐权限的账号
  • 检查账号管理->设置按钮中的API接口状态为正常,当前版本API接口地址: http://local.adspower.net:50325/ (或http://localhost:50325/),端口号默认为50325,以设置中看到的地址为准。脚本可从账号管理设置处的缓存目录中的local_api文件获取到API服务地址
  • 使用脚本或者http请求工具调用本地API接口,支持配置账号数据、浏览器指纹、启动/关闭浏览器等程序化操作
  • API接口的参数类型都是字符串,POST的内容格式为JSON,非必需参数为可选参数可以不传递
  • 访问频次控制,所有接口都具备访问频次控制各接口每秒最多请求1次
  • 同时支持无界面api-key的模式启动Local API服务,详情见:帮助中心

API接口状态

基本信息

Path: /status

Method: GET

接口描述:用于检查API接口的可用性

返回数据


//检查可用
{
  "code":0,
  "msg":"success"
}
      

浏览器

启动浏览器

基本信息

Path: /api/v1/browser/start

Method: GET

接口描述:用于启动账号对应的浏览器,需要指定账号ID,启动成功后可以获取浏览器debug接口用于执行selenium和puppeteer自动化。 Selenium需要使用到对应内核版本匹配的Webdriver。需更新到应用版本3.4.1以上,启动浏览器后可在返回值中拿到对应的Webdriver的路径

请求参数

Query 非必需参数可以不传递

参数名称 必需 默认值 示例 说明 备注
user_id 是 - h1yynkm 通过账号ID启动,账号导入成功后生成的唯一ID
serial_number 否 - 123 通过序号启动,如果已传递账号ID则优先用账号ID
open_tabs 否 0 1 是否打开平台和历史页面,0:打开(默认),1:不打开 需升级到V2.4.2.9及以上版本
ip_tab 否 1 0 是否打开ip检测页,0:不打开,1:打开(默认) 需升级到V2.5.7.9及以上版本
launch_args 否 - ["--window-position=400,0","--blink-settings=imagesEnabled=false", "--disable-notifications"] 启动参数,例:--blink-settings=imagesEnabled=false: 禁止图片加载 --disable-notifications: 禁用通知 需升级到V2.4.6.7及以上版本
headless 否 0 1 是否启动headless浏览器 0:否(默认)1:是 需升级到V2.4.6.7及以上版本
disable_password_filling 否 0 1 是否禁用填充账密功能 0:否(默认)1:是 需升级到V2.4.6.7及以上版本
clear_cache_after_closing 否 0 1 关闭浏览器后是否清除缓存 0:否(默认)1:是 需升级到V2.4.7.6及以上版本。若磁盘空间不足时,建议将该参数设置为1
enable_password_saving 否 0 1 是否允许保存密码 0:否(默认)1:是 需升级到V2.4.8.7及以上版本

返回数据


//执行成功
{
  "code":0,
  "data":{
    "ws":{
      "selenium":"127.0.0.1:xxxx",    //浏览器debug接口,可用于selenium自动化
      "puppeteer":"ws://127.0.0.1:xxxx/devtools/browser/xxxxxx"   //浏览器debug接口,可用于puppeteer自动化
    },
    "debug_port": "xxxx", // debug端口
    "webdriver": "C:\\xxxx\\chromedriver.exe" // webdriver路径
  },
  "msg":"success"
}

//执行失败
{
  "code":-1,
  "data":{},
  "msg":"failed"
}
      

关闭用户的浏览器

基本信息

Path: /api/v1/browser/stop

Method: GET

接口描述:用于关闭账号对应的浏览器,需要指定账号ID

请求参数

Query 非必需参数可以不传递

参数名称 必需 默认值 示例 说明
user_id 是 - h1yynkm 账号ID,账号导入成功后生成的唯一ID
serial_number 否 - 123 通过序号关闭,如果已传递账号ID则优先用账号ID

返回数据


//执行成功
{
  "code":0,
  "data":{},
  "msg":"success"
}

//执行失败
{
  "code":-1,
  "data":{},
  "msg":"failed"
}
      

检查启动状态

基本信息

Path: /api/v1/browser/active

Method: GET

接口描述:用于账号浏览器的启动状态,需要指定账号ID

请求参数

Query 非必需参数可以不传递

参数名称 必需 默认值 示例 说明
user_id 是 - h1yynkm 账号ID,账号导入成功后生成的唯一ID
serial_number 否 - 123 通过序号检查,如果已传递账号ID则优先用账号ID

返回数据


//执行成功
{
  "code":0,
  "data":{
    "status": "Active",   // 浏览器已打开运行中 "Active" ,未打开则是 "Inactive"
    "ws":{
      "selenium":"127.0.0.1:xxxx",    //浏览器debug接口,可用于selenium自动化
      "puppeteer":"ws://127.0.0.1:xxxx/devtools/browser/xxxxxx"   //浏览器debug接口,可用于puppeteer自动化
    }
  },
  "msg":"success"
}

//执行失败
{
  "code":-1,
  "data":{},
  "msg":"failed"
}
      

分组管理

添加分组

基本信息

Path: /api/v1/group/create

Method: POST

接口描述:添加账号的分组,用于创建账号时将账号分组,名称不能重复,创建成功后将返回group_id分组ID,分组ID为0是系统创建的默认分组

请求参数

Body 非必需参数可以不传递,传参格式为JSON

参数名称 类型 必需 默认值 示例 说明
group_name text 是 - group1 添加分组的名称,名称不能重复

返回数据


//执行成功
{
  "code": 0,
  "data": {
    "group_id":"xxxxxxx"  //分组添加成功之后的分组ID 
    "group_name":"group1"  //分组名称
  }      
  "msg": "Success"
}
        
//执行失败
{
  "code":-1,
  "data":{},
  "msg":"failed"
}

修改分组

基本信息

Path: /api/v1/group/update

Method: POST

接口描述:修改分组信息,可以修改分组名称,名称不能重复。需升级到v2.5.6.2以上

请求参数

Body 非必需参数可以不传递,传参格式为JSON

参数名称 类型 必需 默认值 示例 说明
group_id text 是 - 123 需要修改的分组ID
group_name text 是 - group2 修改后的分组名称,名称不能重复

返回数据


//执行成功
{
  "code": 0,
  "data": {
  }      
  "msg": "Success"
}
        
//执行失败
{
  "code":-1,
  "data":{},
  "msg":"failed"
}

查询分组

基本信息

Path: /api/v1/group/list

Method: GET

接口描述:查询分组信息,分组信息包括分组ID和分组名称,其中分组ID用于添加账号时给账号分组,分组ID为0是系统创建的默认分组

请求参数

Query 非必需参数可以不传递

参数名称 必需 默认值 示例 说明
group_name 否 - group1 指定分组名称查询分组,默认空查所有分组
page 否 1 1 页码默认1第一页
page_size 否 1 10 每页条数默认1条,最大2000

返回数据


//执行成功
{
"code": 0,
"data": {
  "list": [
    {
      "group_id": "100",     //分组ID,添加账号时需要
      "group_name": "group1"  //分组名称
    },
    {
      "group_id": "101",
      "group_name": "group2"
    }
  ],
  "page": 1,
  "page_size": 10
},
"msg": "Success"
}

//执行失败
{
"code":-1,
"data":{},
"msg":"failed"
}

账号管理

添加账号

基本信息

Path: /api/v1/user/create

Method: POST

接口描述:添加账号,支持配置平台账密和Cookie,代理ID和代理信息,指纹信息等等,添加成功后返回账号ID

请求参数

Body 非必需参数可以不传递,传参格式为JSON

参数名称 类型 必需 默认值 示例 说明 备注
name text 否 - user A 对该账号的命名,限制100字,方便记忆管理
domain_name text 否 - facebook.com 账号平台的域名facebook.com, amazon.com...会在打开浏览器时默认访问
open_urls list 否 - ["http://www.baidu.com","https://www.google.com"] 浏览器打开时访问的其他url地址,不填则默认只打开domain_name的地址
repeat_config list 否 - [2,3] 账号去重,默认允许重复,支持 0允许重复; 2根据账密去重; 3根据cookie去重; 4根据c_user去重(c_user是FaceBook专有标记);
username text 否 - myusername 账号密码或者Cookie至少填一个;账号允许重复则都可不填
password text 否 - 123456 账号密码或者Cookie至少填一个;账号允许重复则都可不填
cookie text 否 - [ { "domain": ".baidu.com", "expirationDate": , "name":"path": "/","sameSite": "unspecified", "secure":true, "value": "", "id": 1 } ] 账号密码或者Cookie至少填一个;账号允许重复则都可不填;支持JSON和Netscape格式
ignore_cookie_error text 否 0 1 0:校验cookie失败时,直接返回cookie格式不正确 1:校验cookie失败时,过滤掉格式错误的数据,保留正确格式的cookie 仅支持Netscape格式 需升级到V2.4.6.6及以上版本
group_id text 是 100 添加到对应分组的ID,未分配分组则可以传0
ip text 否 - xxx.xxx.xxx.xxx 账号登录使用的代理IP,代理软件为lumauto、oxylabs填写
country text 否 - us 账号所属的国家/地区,lumauto、oxylabs如果没有IP则需要填写国家
region text 否 - xx 账号登录的州/省,可不填
city text 否 - xx 账号登录的城市,可不填
remark text 否 - 这是一条说明 账号说明信息
user_proxy_config userProxyConfig 和proxyid二选一必填 - {"proxy_type":"http","proxy_host":"123.0.0.1", "proxy_port":"12","proxy_user":"12", "proxy_password":"12","proxy_soft":"luminati"} 账号代理配置,具体查看参数对象userProxyConfig
proxyid text 和user_proxy_config二选一必填 - xxx 代理账号id
fingerprint_config fingerprintConfig 是 - {"automatic_timezone": "1","language": ["en-US","en"],"flash": "block","fonts": ["all"],"webrtc": "disabled", "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"} 账号指纹配置,具体查看参数对象fingerprintConfig

返回数据


//执行成功
{
  "code": 0,
  "data": {
    "id":"xxxxxxx"  //账号添加成功之后的唯一ID 
  }      
  "msg": "Success"
}
        
//执行失败
{
  "code":-1,
  "data":{},
  "msg":"failed"
}

修改账号

基本信息

Path: /api/v1/user/update

Method: POST

接口描述:修改账号,支持更新账密和Cookie,代理信息,指纹信息等等

请求参数

Body 非必需参数可以不传递,传参格式为JSON

参数名称 类型 必需 默认值 示例 说明 备注
user_id text 是 - xxxxxxx 需要修改的账号的ID
name text 否 - user A 对该账号的命名,限制100字,方便记忆管理
domain_name text 否 - facebook.com 账号平台的域名facebook.com, amazon.com...会在打开浏览器时默认访问
open_urls list 否 - ["http://www.baidu.com","https://www.google.com"] 浏览器打开时访问的其他url地址,不填则默认只打开domain_name的地址
username text 否 - myusername 账号密码或者Cookie至少填一个;账号允许重复则都可不填
password text 否 - 123456 账号密码或者Cookie至少填一个;账号允许重复则都可不填
cookie text 否 - [ { "domain": ".baidu.com", "expirationDate": , "name":"path": "/","sameSite": "unspecified", "secure":true, "value": "", "id": 1 } ] 账号密码或者Cookie至少填一个;账号允许重复则都可不填;支持JSON和Netscape格式
ignore_cookie_error text 否 0 1 0:校验cookie失败时,直接返回cookie格式不正确 1:校验cookie失败时,过滤掉格式错误的数据,保留正确格式的cookie 仅支持Netscape格式 需升级到V2.4.6.6及以上版本
ip text 否 - xxx.xxx.xxx.xxx 账号登录使用的代理IP,代理软件为lumauto、oxylabs填写
country text 否 - us 账号所属的国家/地区,lumauto、oxylabs如果没有IP则需要填写国家
region text 否 - xx 账号登录的州/省,可不填
city text 否 - xx 账号登录的城市,可不填
remark text 否 - 这是一条说明 账号说明信息
user_proxy_config userProxyConfig 否 - {"proxy_type":"http","proxy_host":"123.0.0.1", "proxy_port":"12","proxy_user":"12", "proxy_password":"12","proxy_soft":"luminati"} 账号代理配置,具体查看参数对象userProxyConfig
proxyid text 否 - xxx 代理账号id
fingerprint_config fingerprintConfig 否 - {"automatic_timezone": "1","language": ["en-US","en"],"flash": "block","fonts": ["all"],"webrtc": "disabled", "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"} 账号指纹配置,具体查看参数对象fingerprintConfig

返回数据


//执行成功
{
  "code": 0,
  "data": {
  }      
  "msg": "Success"
}
        
//执行失败
{
  "code":-1,
  "data":{},
  "msg":"failed"
}

查询账号

基本信息

Path: /api/v1/user/list

Method: GET

接口描述:查询已添加账号的信息,代理信息和代理ID

请求参数

Query 非必需参数可以不传递

参数名称 必需 默认值 示例 说明
group_id 否 - 1001 指定分组ID查询账号,默认不传递则查询所有分组的账号
user_id 否 - xxxxxxx 指定账号ID查询
serial_number 否 - 123 指定序号查询
page 否 1 1 页码,默认1,数量多需要翻页时用
page_size 否 1 50 每页大小,默认每页1 ,最大100

返回数据


//执行成功
{
  "code": 0,
  "data": {
    "list": [
    {
      "serial_number": "1",
      "user_id": "XXX",
      "name": "XXX",
      "group_id": "1",
      "group_name": "XX",
      "domain_name": "facebook.com",
      "username": "username",
      "remark": "remark",
      "created_time": "1612520997", // 时间戳
      "ip": "13.251.172.174",
      "ip_country": "sg",
      "password": "",
      "last_open_time": "1621333030" // 最近一次打开时间(时间戳)
    }],
    "page": 1,
    "page_size": 50
  },
  "msg": "Success"
}
        
//执行失败
{
  "code":-1,
  "data":{},
  "msg":"failed"
}

删除账号

基本信息

Path: /api/v1/user/delete

Method: POST

接口描述:删除不需要的账号,支持批量删除,一次删除的数量不能超过100个

请求参数

Body 非必需参数可以不传递,传参格式为JSON

参数名称 类型 必需 默认值 示例 说明
user_ids list 是 - ["xxx"] ["xxx","yyy","zzz"] 需要删除的账号ID,数组格式

返回数据


//执行成功
{
  "code":0,
  "data":{},
  "msg":"success"
}

//执行失败
{
  "code":-1,
  "data":{},
  "msg":"failed"
}
      

更新账号分组

基本信息

Path: /api/v1/user/regroup

Method: POST

接口描述:用于将账号重新分组,通过ID将账号分到对应的组

请求参数

Body 非必需参数可以不传递,传参格式为JSON

参数名称 类型 必需 默认值 示例 说明
user_ids list 是 - ["xxx"] ["xxx","yyy","zzz"] 需要分组的账号ID,数组格式
group_id text 是 - 123 对应的分组ID

返回数据


//执行成功
{
"code":0,
"data":{},
"msg":"success"
}

//执行失败
{
"code":-1,
"data":{},
"msg":"failed"
}
    

删除账号缓存

基本信息

Path: /api/v1/user/delete-cache

Method: POST

接口描述:用于清除所有打开浏览器产生的本地缓存。为了账号安全,请确保在该设备中没有打开状态的浏览器下使用该接口。需更新到V2.4.7.4。若磁盘空间不足,可使用该接口清除账号缓存释放空间

注意事项:该接口会删除所有本地账号缓存数据,请谨慎使用。如果想对指定的账号在打开后进行缓存删除,可使用启动浏览器接口中的"clear_cache_after_closing"。

返回数据


//执行成功
{
"code":0,
"msg":"success"
}

//若当前用户存在打开中的浏览器,执行失败
{
"code":-1,
"msg":"There are currently open browsers, please close them before deleting the cache"
}

参数对象

user_proxy_config

user_proxy_config对象是账号代理配置的参数信息,AdsPower支持市面上常用的代理软件和协议。

属性名称 类型 必需 默认值 示例 说明
proxy_soft text 是 - luminati 目前支持的代理有luminati,lumauto,oxylabsauto,ssh,other,no_proxy
proxy_type text 否 - socks5 代理的类型,目前支持的类型有http,https,socks5;no_proxy可不传
proxy_host text 否 - pr.oxylabs.io 代理服务器的地址,可以填域名或者IP;no_proxy可不传
proxy_port text 否 - 123 代理服务器的端口号;no_proxy可不传
proxy_user text 否 - abc 代理需要登录时的账号
proxy_password text 否 - xyz 代理需要登录时的密码
proxy_url text 否 - http://www.xxx.com/ 该URL用于移动代理,仅支持http/https/socks5的代理。 1、通过该链接,您可以通过手动操作去改变代理的IP地址。 2、多个账号使用同个代理账号时,刷新IP会改变同个代理账号的IP地址。

user_proxy_config需要传入对应的JSON对象,示例:

  • luminati
    {"proxy_soft":"luminati","proxy_type":"http","proxy_host":"xxxx","proxy_port":"xx","proxy_user":"xxx","proxy_password":"**"}
  • luminati https
    {"proxy_soft":"luminati","proxy_type":"https","proxy_host":"xxxx","proxy_port":"xx","proxy_user":"xxx","proxy_password":"**"}
  • luminati socks5
    {"proxy_soft":"luminati","proxy_type":"socks5","proxy_host":"xxxx","proxy_port":"xx","proxy_user":"xxx","proxy_password":"**"}
  • lumauto
    {"proxy_soft":"lumauto","proxy_type":"http","proxy_host":"xxxx","proxy_port":"xx","proxy_user":"xxx","proxy_password":"**","global_config":"0"}
    注:global_config 非必填
        0:自定义(默认)
        1:使用全局设置的luminati动态住宅 {"proxy_soft":"lumauto","proxy_type":"http","global_config":"1"}

  • oxylabsauto
    {"proxy_soft":"oxylabsauto","proxy_type":"http","proxy_host":"xxxx","proxy_port":"xx","proxy_user":"xx","proxy_password":"**","global_config":"0"}
    注:global_config 非必填
        0:自定义(默认)
        1:使用全局设置的oxylabs动态住宅 {"proxy_soft":"oxylabsauto","proxy_type":"http","global_config":"1"}
  • socks5
    {"proxy_soft":"other","proxy_type":"socks5","proxy_host":"xxxx","proxy_port":"xx","proxy_user":"xxx","proxy_password":"**"}
  • http
    {"proxy_soft":"other","proxy_type":"http","proxy_host":"xxxx","proxy_port":"xx","proxy_user":"xxx","proxy_password":"**"}
  • https
    {"proxy_soft":"other","proxy_type":"https","proxy_host":"xxxx","proxy_port":"xx","proxy_user":"xxx","proxy_password":"**"}
  • ssh
    {"proxy_soft":"ssh","proxy_type":"socks5","proxy_host":"xxxx","proxy_port":"xx","proxy_user":"xxx","proxy_password":"**"}
  • no_proxy
    {"proxy_soft":"no_proxy"}

fingerprint_config

fingerprint_config对象是账号浏览器指纹配置的参数信息,支持多种浏览器指纹配置是AdsPower的产品特性之一。

属性名称 类型 必需 默认值 示例 说明 备注
automatic_timezone text 否 1 1 1 基于IP自动生成对应的时区(默认);0 指定时区
timezone text 否 - America/Yellowknife 指定时区,默认空字符串""代表本地时区
webrtc text 否 disabled disabled Chrome即时通信组件,支持: proxy 替换 ,使用代理IP覆盖真实IP,代理场景使用 local 真实 ,网站会获取真实IP disabled 禁用(默认),网站会拿不到IP
location text 否 ask ask 网站请求获取您当前地理位置时的选择,支持: 询问ask(默认),与普通浏览器的提示一样 允许allow,始终允许网站获取位置 禁止block,始终禁止网站获取位置
location_switch text 否 1 1 1 基于IP自动生成对应的位置(默认);0 指定位置
longitude text 否 - -40.123321 指定位置的经度,指定位置时必填,范围是-180到180,支持小数点后六位
latitude text 否 - 30.123321 指定位置的纬度,指定位置时必填,范围是-90到90,支持小数点后六位
accuracy text 否 1000 1000 指定位置的精度(米) ,指定位置时必填,范围10-5000,整数
language list 否 ["en-US","en"] ["en-US","en","zh-CN","zh"] 浏览器的语言(默认["en-US","en"]),支持传多个语言,格式为字符串数组
language_switch text 否 1 1 基于IP国家设置语言,0:关闭 1:启用 需升级到V2.4.4.3及以上版本
ua text 否 - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36 user-agent用户信息,默认不传使用随机ua库, 自定义需要确保ua格式与内容符合标准
screen_resolution text 否 none 1024_600 屏幕分辨率,none: 使用电脑当前分辨率; random: 随机分辨率; 自定义需要下划线分隔,宽_高
fonts list 否 - ["all"] ["Arial","Calibri","Cambria"] 浏览器的字体(默认所有) 自定义支持多字体英文,格式为字符串数组
canvas text 否 1 1 浏览器canvas指纹开关 1 添加噪音(默认);0 电脑默认
webgl_image text 否 1 1 浏览器webgl图像指纹开关 1 添加噪音(默认);0 电脑默认
webgl text 否 3 3 浏览器webgl元数据指纹开关 0 电脑默认;2 自定义(需定义webgl_config);3 随机匹配(该类型仅在添加账号接口支持,更新账号接口暂不支持) 自定义,需升级到V2.4.3.9及以上版本
webgl_config json 否 {"unmasked_vendor": "", "unmasked_renderer": ""} {"unmasked_vendor": "Google Inc.", "unmasked_renderer": "ANGLE (Intel(R) HD Graphics 620 Direct3D11 vs_5_0 ps_5_0)"} 浏览器webgl元数据自定义,unmasked_vendor:厂商,unmasked_renderer:渲染 该值只有在webgl为2时才会启动自定义。 当webgl为2时,厂商和渲染均不能为空,否则采用电脑默认 需升级到V2.4.3.9及以上版本
audio text 否 1 1 音频指纹开关 1 添加噪音(默认);0 电脑默认
do_not_track text 否 default true DNT即"do not track",“请勿跟踪”浏览器设置开关,支持: default(默认) true开启 false关闭
hardware_concurrency text 否 4 4 电脑CPU核数,支持: default(电脑实际CPU核数),2,4(不传默认4核),6,8,16
device_memory text 否 8 8 电脑内存大小,支持: default(电脑实际内存大小), 2,4,6,8(不传默认8G)
flash text 否 block allow flash配置开关,支持: allow启用,block关闭(默认)
scan_port_type text 否 1 1 端口扫描保护,支持: 1启用(默认), 0关闭
allow_scan_ports list 否 - ["4000","4001"] 端口扫描保护启用时允许被扫描的指定端口 格式为字符串数组,默认不传为空
media_devices text 否 1 1 媒体设备开关,0:关闭(每个浏览器使用当前电脑默认的媒体设备id)1:启用(使用相匹配的值代替您真实的媒体设备ID)
client_rects text 否 1 1 ClientRects指纹,0:每个浏览器使用当前电脑默认的ClientRects 1:添加相应的噪音,同一电脑上为每个浏览器生成不同的ClientRects 需升级到V3.6.2及以上版本
device_name_switch text 否 1 1 设备名称,0:关闭, 每个浏览器使用当前电脑的设备名称 1:掩盖, 使用合适的值代替您真实的设备名称 2:自定义设备名称 需升级到3.6.25及以上版本,值为2时需升级到V2.4.8.1及以上版本
device_name text 否 - abcd 自定义设备名称 需升级到V2.4.8.1及以上版本
random_ua json 否 - {"ua_browser":["chrome"],"ua_version":["80"],"ua_system_version":["Windows 10"]} 支持指定类型、系统、版本设置ua。若同时传入了自定义ua,则优先使用自定义的ua。 ua_browser: 类型,chrome || firefox; ua_system_version: 系统; ua_version: 版本; 该字段仅在添加账号接口支持,更新账号接口暂不支持指定类型、系统、版本更新ua。 详情见random_ua 建议:ua_browser与browser_kernel_config下的type一致,默认chrome
speech_switch text 否 1 1 SpeechVoices指纹,0:每个浏览器使用当前电脑默认的SpeechVoices 1:添加相应的噪音,同一电脑上为每个浏览器生成不同的SpeechVoices 软件版本需升级到V3.11.10及以上版本,内核版本需升级到V2.5.0.9及以上版本
mac_address_config json 否 {"model": "1", "address": ""} {"model": "2", "address": "E4-02-9B-3B-E9-27"} MAC地址:支持设置合适的值代替真是的MAC地址。
model: 0 (使用当前电脑的MAC地址),1(匹配合适的值代替真实的MAC地址), 2(自定义合适的值代替真实的MAC地址) 。
address: 自定义MAC地址,当model为2时,需传入该值。
软件版本需升级到V4.3.9及以上版本
browser_kernel_config json 否 {"version": "latest", "type":"chrome"} {"version": "99", "type":"chrome"} 使用对应浏览器内核打开浏览器
version:内核版本,参数说明:”92“为92版内核、”99“为99版内核、”latest“为智能匹配;
type:浏览器类型,chrome || firefox
软件版本需升级到v4.4.21及以上版本。该版本仅支持version的可选值为'92'、'99'、'latest'。firefox仅支持100内核版本
gpu text 否 0 0 0:使用【本地设置-硬件加速】的配置 1:开启硬件加速,可提升浏览器性能。使用不同的硬件,可能会影响硬件相关的指纹。 2:关闭硬件加速,会降低浏览器性能。

random_ua

ua_system_version: list,非必填,不填默认在所有系统中随机,支持 Android, iOS, Windows, Mac OS X , Linux。
ua_version: list,非必填,支持当前主流版本,不填默认在所有版本中随机。

fingerprint_config需要传入对应的JSON对象,示例: { "automatic_timezone": "1", "language": ["en-US","en","zh-CN","zh"], "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141", "flash": "block", "webrtc": "disabled" }


附录

国家码Country code

国家码Country code列表:注意传参时填前面的缩写,如cn: 'China'传参时填cn


 ad: 'Andorra'
 ae: 'United Arab Emirates'
 af: 'Afghanistan'
 ag: 'Antigua & Barbuda'
 ai: 'Anguilla'
 al: 'Albania'
 am: 'Armenia'
 ao: 'Angola'
 aq: 'Antarctica'
 ar: 'Argentina'
 as: 'American Samoa'
 at: 'Austria'
 au: 'Australia'
 aw: 'Aruba'
 ax: '_land Islands'
 az: 'Azerbaijan'
 ba: 'Bosnia & Herzegovina'
 bb: 'Barbados'
 bd: 'Bangladesh'
 be: 'Belgium'
 bf: 'Burkina'
 bg: 'Bulgaria'
 bh: 'Bahrain'
 bi: 'Burundi'
 bj: 'Benin'
 bl: 'Saint Barthélemy'
 bm: 'Bermuda'
 bn: 'Brunei'
 bo: 'Bolivia'
 bq: 'Caribbean Netherlands'
 br: 'Brazil'
 bs: 'The Bahamas'
 bt: 'Bhutan'
 bv: 'Bouvet Island'
 bw: 'Botswana'
 by: 'Belarus'
 bz: 'Belize'
 ca: 'Canada'
 cc: 'Cocos (Keeling) Islands'
 cf: 'Central African Republic'
 ch: 'Switzerland'
 cl: 'Chile'
 cm: 'Cameroon'
 co: 'Colombia'
 cr: 'Costa Rica'
 cu: 'Cuba'
 cv: 'Cape Verde'
 cx: 'Christmas Island'
 cy: 'Cyprus'
 cz: 'Czech Republic'
 de: 'Germany'
 dj: 'Djibouti'
 dk: 'Denmark'
 dm: 'Dominica'
 do: 'Dominican Republic'
 dz: 'Algeria'
 ec: 'Ecuador'
 ee: 'Estonia'
 eg: 'Egypt'
 eh: 'Western Sahara'
 er: 'Eritrea'
 es: 'Spain'
 fi: 'Finland'
 fj: 'Fiji'
 fk: 'Falkland Islands'
 fm: 'Federated States of Micronesia'
 fo: 'Faroe Islands'
 fr: 'France'
 ga: 'Gabon'
 gd: 'Grenada'
 ge: 'Georgia'
 gf: 'French Guiana'
 gh: 'Ghana'
 gi: 'Gibraltar'
 gl: 'Greenland'
 gn: 'Guinea'
 gp: 'Guadeloupe'
 gq: 'Equatorial Guinea'
 gr: 'Greece'
 gs: 'South Georgia and the South Sandwich Islands'
 gt: 'Guatemala'
 gu: 'Guam'
 gw: 'Guinea-Bissau'
 gy: 'Guyana'
 hk: 'China Hong Kong'
 hm: 'Heard Island and McDonald Islands'
 hn: 'Honduras'
 hr: 'Croatia'
 ht: 'Haiti'
 hu: 'Hungary'
 id: 'Indonesia'
 ie: 'Ireland'
 il: 'Israel'
 im: 'Isle of Man'
 in: 'India'
 io: 'British Indian Ocean Territory'
 iq: 'Iraq'
 ir: 'Iran'
 is: 'Iceland'
 it: 'Italy'
 je: 'Jersey'
 jm: 'Jamaica'
 jo: 'Jordan'
 jp: 'Japan'
 kh: 'Cambodia'
 ki: 'Kiribati'
 km: 'The Comoros'
 kw: 'Kuwait'
 ky: 'Cayman Islands'
 lb: 'Lebanon'
 li: 'Liechtenstein'
 lk: 'Sri Lanka'
 lr: 'Liberia'
 ls: 'Lesotho'
 lt: 'Lithuania'
 lu: 'Luxembourg'
 lv: 'Latvia'
 ly: 'Libya'
 ma: 'Morocco'
 mc: 'Monaco'
 md: 'Moldova'
 me: 'Montenegro'
 mf: 'Saint Martin (France)'
 mg: 'Madagascar'
 mh: 'Marshall islands'
 mk: 'Republic of Macedonia (FYROM)'
 ml: 'Mali'
 mm: 'Myanmar (Burma)'
 mo: 'China Macao'
 mq: 'Martinique'
 mr: 'Mauritania'
 ms: 'Montserrat'
 mt: 'Malta'
 mv: 'Maldives'
 mw: 'Malawi'
 mx: 'Mexico'
 my: 'Malaysia'
 na: 'Namibia'
 ne: 'Niger'
 nf: 'Norfolk Island'
 ng: 'Nigeria'
 ni: 'Nicaragua'
 nl: 'Netherlands'
 no: 'Norway'
 np: 'Nepal'
 nr: 'Nauru'
 om: 'Oman'
 pa: 'Panama'
 pe: 'Peru'
 pf: 'French polynesia'
 pg: 'Papua New Guinea'
 ph: 'The Philippines'
 pk: 'Pakistan'
 pl: 'Poland'
 pn: 'Pitcairn Islands'
 pr: 'Puerto Rico'
 ps: 'Palestinian territories'
 pw: 'Palau'
 py: 'Paraguay'
 qa: 'Qatar'
 re: 'Réunion'
 ro: 'Romania'
 rs: 'Serbia'
 ru: 'Russian Federation'
 rw: 'Rwanda'
 sb: 'Solomon Islands'
 sc: 'Seychelles'
 sd: 'Sudan'
 se: 'Sweden'
 sg: 'Singapore'
 si: 'Slovenia'
 sj: 'Template:Country data SJM Svalbard'
 sk: 'Slovakia'
 sl: 'Sierra Leone'
 sm: 'San Marino'
 sn: 'Senegal'
 so: 'Somalia'
 sr: 'Suriname'
 ss: 'South Sudan'
 st: 'Sao Tome & Principe'
 sv: 'El Salvador'
 sy: 'Syria'
 sz: 'Swaziland'
 tc: 'Turks & Caicos Islands'
 td: 'Chad'
 tg: 'Togo'
 th: 'Thailand'
 tk: 'Tokelau'
 tl: 'Timor-Leste (East Timor)'
 tn: 'Tunisia'
 to: 'Tonga'
 tr: 'Turkey'
 tv: 'Tuvalu'
 tz: 'Tanzania'
 ua: 'Ukraine'
 ug: 'Uganda'
 us: 'United States of America (USA)'
 uy: 'Uruguay'
 va: 'Vatican City (The Holy See)'
 ve: 'Venezuela'
 vg: 'British Virgin Islands'
 vi: 'United States Virgin Islands'
 vn: 'Vietnam'
 wf: 'Wallis and Futuna'
 ws: 'Samoa'
 ye: 'Yemen'
 yt: 'Mayotte'
 za: 'South Africa'
 zm: 'Zambia'
 zw: 'Zimbabwe'
 cn: 'China'
 cg: 'Republic of the Congo'
 cd: 'Democratic Republic of the Congo'
 mz: 'Mozambique'
 gg: 'Guernsey'
 gm: 'Gambia'
 mp: 'Northern Mariana Islands'
 et: 'Ethiopia'
 nc: 'New Caledonia'
 vu: 'Vanuatu'
 tf: 'French Southern Territories'
 nu: 'Niue'
 um: 'United States Minor Outlying Islands'
 ck: 'Cook Islands'
 gb: 'Great Britain'
 tt: 'Trinidad & Tobago'
 vc: 'St. Vincent & the Grenadines'
 tw: 'China Taiwan'
 nz: 'New Zealand'
 sa: 'Saudi Arabia'
 la: 'Laos'
 kp: 'North Korea'
 kr: 'South Korea'
 pt: 'Portugal'
 kg: 'Kyrgyzstan'
 kz: 'Kazakhstan'
 tj: 'Tajikistan'
 tm: 'Turkmenistan'
 uz: 'Uzbekistan'
 kn: 'St. Kitts & Nevis'
 pm: 'Saint-Pierre and Miquelon'
 sh: 'St. Helena & Dependencies'
 lc: 'St. Lucia'
 mu: 'Mauritius'
 ci: 'C_te d\'Ivoire'
 ke: 'Kenya'
 mn: 'Mongolia'
        

时区TimeZone

时区TimeZone列表:注意传参时填gmt的内容,如tz: 'GMT+08:00', gmt: 'Asia/Shanghai' 传参时填Asia/Shanghai


 tz: 'GMT-09:00', gmt: 'America/Metlakatla'  
 tz: 'GMT-12:00', gmt: 'Etc/GMT+12'  
 tz: 'GMT-11:00', gmt: 'Etc/GMT+11'  
 tz: 'GMT-11:00', gmt: 'Pacific/Midway'  
 tz: 'GMT-11:00', gmt: 'Pacific/Niue'  
 tz: 'GMT-11:00', gmt: 'Pacific/Pago Pago'  
 tz: 'GMT-10:00', gmt: 'America/Adak'  
 tz: 'GMT-10:00', gmt: 'Etc/GMT+10'  
 tz: 'GMT-10:00', gmt: 'HST'  
 tz: 'GMT-10:00', gmt: 'Pacific/Honolulu'  
 tz: 'GMT-10:00', gmt: 'Pacific/Rarotonga'  
 tz: 'GMT-10:00', gmt: 'Pacific/Tahiti'  
 tz: 'GMT-09:30', gmt: 'Pacific/Marquesas'  
 tz: 'GMT-09:00', gmt: 'America/Anchorage'  
 tz: 'GMT-09:00', gmt: 'America/Juneau'  
 tz: 'GMT-09:00', gmt: 'America/Nome'  
 tz: 'GMT-09:00', gmt: 'America/Sitka'  
 tz: 'GMT-09:00', gmt: 'America/Yakutat'  
 tz: 'GMT-09:00', gmt: 'Etc/GMT+9'  
 tz: 'GMT-09:00', gmt: 'Pacific/Gambier'  
 tz: 'GMT-08:00', gmt: 'America/Los Angeles'  
 tz: 'GMT-08:00', gmt: 'America/Tijuana'  
 tz: 'GMT-08:00', gmt: 'America/Vancouver'  
 tz: 'GMT-08:00', gmt: 'Etc/GMT+8'  
 tz: 'GMT-08:00', gmt: 'PST8PDT'  
 tz: 'GMT-08:00', gmt: 'Pacific/Pitcairn'  
 tz: 'GMT-07:00', gmt: 'America/Boise'  
 tz: 'GMT-07:00', gmt: 'America/Cambridge Bay'  
 tz: 'GMT-07:00', gmt: 'America/Chihuahua'  
 tz: 'GMT-07:00', gmt: 'America/Creston'  
 tz: 'GMT-07:00', gmt: 'America/Dawson'  
 tz: 'GMT-07:00', gmt: 'America/Dawson Creek'  
 tz: 'GMT-07:00', gmt: 'America/Denver'  
 tz: 'GMT-07:00', gmt: 'America/Edmonton'  
 tz: 'GMT-07:00', gmt: 'America/Fort Nelson'  
 tz: 'GMT-07:00', gmt: 'America/Hermosillo'  
 tz: 'GMT-07:00', gmt: 'America/Inuvik'  
 tz: 'GMT-07:00', gmt: 'America/Mazatlan'  
 tz: 'GMT-07:00', gmt: 'America/Ojinaga'  
 tz: 'GMT-07:00', gmt: 'America/Phoenix'  
 tz: 'GMT-07:00', gmt: 'America/Whitehorse'  
 tz: 'GMT-07:00', gmt: 'America/Yellowknife'  
 tz: 'GMT-07:00', gmt: 'Etc/GMT+7'  
 tz: 'GMT-07:00', gmt: 'MST'  
 tz: 'GMT-07:00', gmt: 'MST7MDT'  
 tz: 'GMT-06:00', gmt: 'America/Bahia Banderas'  
 tz: 'GMT-06:00', gmt: 'America/Belize'  
 tz: 'GMT-06:00', gmt: 'America/Chicago'  
 tz: 'GMT-06:00', gmt: 'America/Costa Rica'  
 tz: 'GMT-06:00', gmt: 'America/El Salvador'  
 tz: 'GMT-06:00', gmt: 'America/Guatemala'  
 tz: 'GMT-06:00', gmt: 'America/Indiana/Knox'  
 tz: 'GMT-06:00', gmt: 'America/Indiana/Tell City'  
 tz: 'GMT-06:00', gmt: 'America/Managua'  
 tz: 'GMT-06:00', gmt: 'America/Matamoros'  
 tz: 'GMT-06:00', gmt: 'America/Menominee'  
 tz: 'GMT-06:00', gmt: 'America/Merida'  
 tz: 'GMT-06:00', gmt: 'America/Mexico City'  
 tz: 'GMT-06:00', gmt: 'America/Monterrey'  
 tz: 'GMT-06:00', gmt: 'America/North Dakota/Beulah'  
 tz: 'GMT-06:00', gmt: 'America/North Dakota/Center'  
 tz: 'GMT-06:00', gmt: 'America/North Dakota/New_Salem'  
 tz: 'GMT-06:00', gmt: 'America/Rainy River'  
 tz: 'GMT-06:00', gmt: 'America/Rankin Inlet'  
 tz: 'GMT-06:00', gmt: 'America/Regina'  
 tz: 'GMT-06:00', gmt: 'America/Resolute'  
 tz: 'GMT-06:00', gmt: 'America/Swift Current'  
 tz: 'GMT-06:00', gmt: 'America/Tegucigalpa'  
 tz: 'GMT-06:00', gmt: 'America/Winnipeg'  
 tz: 'GMT-06:00', gmt: 'CST6CDT'  
 tz: 'GMT-06:00', gmt: 'Etc/GMT+6'  
 tz: 'GMT-06:00', gmt: 'Pacific/Galapagos'  
 tz: 'GMT-05:00', gmt: 'America/Atikokan'  
 tz: 'GMT-05:00', gmt: 'America/Bogota'  
 tz: 'GMT-05:00', gmt: 'America/Cancun'  
 tz: 'GMT-05:00', gmt: 'America/Cayman'  
 tz: 'GMT-05:00', gmt: 'America/Detroit'  
 tz: 'GMT-05:00', gmt: 'America/Eirunepe'  
 tz: 'GMT-05:00', gmt: 'America/Grand Turk'  
 tz: 'GMT-05:00', gmt: 'America/Guayaquil'  
 tz: 'GMT-05:00', gmt: 'America/Havana'  
 tz: 'GMT-05:00', gmt: 'America/Indiana/Indianapolis'  
 tz: 'GMT-05:00', gmt: 'America/Indiana/Marengo'  
 tz: 'GMT-05:00', gmt: 'America/Indiana/Petersburg'  
 tz: 'GMT-05:00', gmt: 'America/Indiana/Vevay'  
 tz: 'GMT-05:00', gmt: 'America/Indiana/Vincennes'  
 tz: 'GMT-05:00', gmt: 'America/Indiana/Winamac'  
 tz: 'GMT-05:00', gmt: 'America/Indianapolis'  
 tz: 'GMT-05:00', gmt: 'America/Iqaluit'  
 tz: 'GMT-05:00', gmt: 'America/Jamaica'  
 tz: 'GMT-05:00', gmt: 'America/Kentucky/Louisville'  
 tz: 'GMT-05:00', gmt: 'America/Kentucky/Monticello'  
 tz: 'GMT-05:00', gmt: 'America/Lima'  
 tz: 'GMT-05:00', gmt: 'America/Montreal'  
 tz: 'GMT-05:00', gmt: 'America/Nassau'  
 tz: 'GMT-05:00', gmt: 'America/New York'  
 tz: 'GMT-05:00', gmt: 'America/Nipigon'  
 tz: 'GMT-05:00', gmt: 'America/Panama'  
 tz: 'GMT-05:00', gmt: 'America/Pangnirtung'  
 tz: 'GMT-05:00', gmt: 'America/Port-au-Prince'  
 tz: 'GMT-05:00', gmt: 'America/Rio Branco'  
 tz: 'GMT-05:00', gmt: 'America/Thunder Bay'  
 tz: 'GMT-05:00', gmt: 'America/Toronto'  
 tz: 'GMT-05:00', gmt: 'EST'  
 tz: 'GMT-05:00', gmt: 'EST5EDT'  
 tz: 'GMT-05:00', gmt: 'Etc/GMT+5'  
 tz: 'GMT-05:00', gmt: 'Pacific/Easter'  
 tz: 'GMT-04:00', gmt: 'America/Anguilla'  
 tz: 'GMT-04:00', gmt: 'America/Antigua'  
 tz: 'GMT-04:00', gmt: 'America/Aruba'  
 tz: 'GMT-04:00', gmt: 'America/Barbados'  
 tz: 'GMT-04:00', gmt: 'America/Blanc-Sablon'  
 tz: 'GMT-04:00', gmt: 'America/Boa Vista'  
 tz: 'GMT-04:00', gmt: 'America/Campo Grande'  
 tz: 'GMT-04:00', gmt: 'America/Caracas'  
 tz: 'GMT-04:00', gmt: 'America/Cuiaba'  
 tz: 'GMT-04:00', gmt: 'America/Curacao'  
 tz: 'GMT-04:00', gmt: 'America/Dominica'  
 tz: 'GMT-04:00', gmt: 'America/Glace Bay'  
 tz: 'GMT-04:00', gmt: 'America/Goose Bay'  
 tz: 'GMT-04:00', gmt: 'America/Grenada'  
 tz: 'GMT-04:00', gmt: 'America/Guadeloupe'  
 tz: 'GMT-04:00', gmt: 'America/Guyana'  
 tz: 'GMT-04:00', gmt: 'America/Halifax'  
 tz: 'GMT-04:00', gmt: 'America/Kralendijk'  
 tz: 'GMT-04:00', gmt: 'America/La Paz'  
 tz: 'GMT-04:00', gmt: 'America/Lower Princes'  
 tz: 'GMT-04:00', gmt: 'America/Manaus'  
 tz: 'GMT-04:00', gmt: 'America/Marigot'  
 tz: 'GMT-04:00', gmt: 'America/Martinique'  
 tz: 'GMT-04:00', gmt: 'America/Moncton'  
 tz: 'GMT-04:00', gmt: 'America/Montserrat'  
 tz: 'GMT-04:00', gmt: 'America/Port of_Spain'  
 tz: 'GMT-04:00', gmt: 'America/Porto Velho'  
 tz: 'GMT-04:00', gmt: 'America/Puerto Rico'  
 tz: 'GMT-04:00', gmt: 'America/Santo Domingo'  
 tz: 'GMT-04:00', gmt: 'America/St Barthelemy'  
 tz: 'GMT-04:00', gmt: 'America/St Kitts'  
 tz: 'GMT-04:00', gmt: 'America/St Lucia'  
 tz: 'GMT-04:00', gmt: 'America/St Thomas'  
 tz: 'GMT-04:00', gmt: 'America/St Vincent'  
 tz: 'GMT-04:00', gmt: 'America/Thule'  
 tz: 'GMT-04:00', gmt: 'America/Tortola'  
 tz: 'GMT-04:00', gmt: 'Atlantic/Bermuda'  
 tz: 'GMT-04:00', gmt: 'Etc/GMT+4'  
 tz: 'GMT-03:30', gmt: 'America/St Johns'  
 tz: 'GMT-03:00', gmt: 'America/Araguaina'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/Buenos Aires'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/Catamarca'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/Cordoba'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/Jujuy'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/La Rioja'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/Mendoza'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/Rio Gallegos'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/Salta'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/San Juan'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/San Luis'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/Tucuman'  
 tz: 'GMT-03:00', gmt: 'America/Argentina/Ushuaia'  
 tz: 'GMT-03:00', gmt: 'America/Asuncion'  
 tz: 'GMT-03:00', gmt: 'America/Bahia'  
 tz: 'GMT-03:00', gmt: 'America/Belem'  
 tz: 'GMT-03:00', gmt: 'America/Cayenne'  
 tz: 'GMT-03:00', gmt: 'America/Fortaleza'  
 tz: 'GMT-03:00', gmt: 'America/Godthab'  
 tz: 'GMT-03:00', gmt: 'America/Maceio'  
 tz: 'GMT-03:00', gmt: 'America/Miquelon'  
 tz: 'GMT-03:00', gmt: 'America/Montevideo'  
 tz: 'GMT-03:00', gmt: 'America/Nuuk'  
 tz: 'GMT-03:00', gmt: 'America/Paramaribo'  
 tz: 'GMT-03:00', gmt: 'America/Punta Arenas'  
 tz: 'GMT-03:00', gmt: 'America/Recife'  
 tz: 'GMT-03:00', gmt: 'America/Santarem'  
 tz: 'GMT-03:00', gmt: 'America/Santiago'  
 tz: 'GMT-03:00', gmt: 'America/Sao Paulo'  
 tz: 'GMT-03:00', gmt: 'Antarctica/Palmer'  
 tz: 'GMT-03:00', gmt: 'Antarctica/Rothera'  
 tz: 'GMT-03:00', gmt: 'Atlantic/Stanley'  
 tz: 'GMT-03:00', gmt: 'Etc/GMT+3'  
 tz: 'GMT-02:00', gmt: 'America/Noronha'  
 tz: 'GMT-02:00', gmt: 'Atlantic/South Georgia'  
 tz: 'GMT-02:00', gmt: 'Etc/GMT+2'  
 tz: 'GMT-01:00', gmt: 'America/Scoresbysund'  
 tz: 'GMT-01:00', gmt: 'Atlantic/Azores'  
 tz: 'GMT-01:00', gmt: 'Atlantic/Cape Verde'  
 tz: 'GMT-01:00', gmt: 'Etc/GMT+1'  
 tz: 'GMT+00:00', gmt: 'Africa/Abidjan'  
 tz: 'GMT+00:00', gmt: 'Africa/Accra'  
 tz: 'GMT+00:00', gmt: 'Africa/Bamako'  
 tz: 'GMT+00:00', gmt: 'Africa/Banjul'  
 tz: 'GMT+00:00', gmt: 'Africa/Bissau'  
 tz: 'GMT+00:00', gmt: 'Africa/Conakry'  
 tz: 'GMT+00:00', gmt: 'Africa/Dakar'  
 tz: 'GMT+00:00', gmt: 'Africa/Freetown'  
 tz: 'GMT+00:00', gmt: 'Africa/Lome'  
 tz: 'GMT+00:00', gmt: 'Africa/Monrovia'  
 tz: 'GMT+00:00', gmt: 'Africa/Nouakchott'  
 tz: 'GMT+00:00', gmt: 'Africa/Ouagadougou'  
 tz: 'GMT+00:00', gmt: 'Africa/Sao Tome'  
 tz: 'GMT+00:00', gmt: 'America/Danmarkshavn'  
 tz: 'GMT+00:00', gmt: 'Antarctica/Troll'  
 tz: 'GMT+00:00', gmt: 'Atlantic/Canary'  
 tz: 'GMT+00:00', gmt: 'Atlantic/Faroe'  
 tz: 'GMT+00:00', gmt: 'Atlantic/Madeira'  
 tz: 'GMT+00:00', gmt: 'Atlantic/Reykjavik'  
 tz: 'GMT+00:00', gmt: 'Atlantic/St Helena'  
 tz: 'GMT+00:00', gmt: 'Etc/GMT'  
 tz: 'GMT+00:00', gmt: 'Etc/GMT+0'  
 tz: 'GMT+00:00', gmt: 'Etc/GMT-0'  
 tz: 'GMT+00:00', gmt: 'Etc/GMT0'  
 tz: 'GMT+00:00', gmt: 'Etc/Greenwich'  
 tz: 'GMT+00:00', gmt: 'Etc/Universal'  
 tz: 'GMT+00:00', gmt: 'Etc/Zulu'  
 tz: 'GMT+00:00', gmt: 'Europe/Dublin'  
 tz: 'GMT+00:00', gmt: 'Europe/Guernsey'  
 tz: 'GMT+00:00', gmt: 'Europe/Isle of_Man'  
 tz: 'GMT+00:00', gmt: 'Europe/Jersey'  
 tz: 'GMT+00:00', gmt: 'Europe/Lisbon'  
 tz: 'GMT+00:00', gmt: 'Europe/London'  
 tz: 'GMT+00:00', gmt: 'GMT'  
 tz: 'GMT+00:00', gmt: 'UTC'  
 tz: 'GMT+00:00', gmt: 'WET'  
 tz: 'GMT+01:00', gmt: 'Africa/Algiers'  
 tz: 'GMT+01:00', gmt: 'Africa/Bangui'  
 tz: 'GMT+01:00', gmt: 'Africa/Brazzaville'  
 tz: 'GMT+01:00', gmt: 'Africa/Casablanca'  
 tz: 'GMT+01:00', gmt: 'Africa/Ceuta'  
 tz: 'GMT+01:00', gmt: 'Africa/Douala'  
 tz: 'GMT+01:00', gmt: 'Africa/El Aaiun'  
 tz: 'GMT+01:00', gmt: 'Africa/Kinshasa'  
 tz: 'GMT+01:00', gmt: 'Africa/Lagos'  
 tz: 'GMT+01:00', gmt: 'Africa/Libreville'  
 tz: 'GMT+01:00', gmt: 'Africa/Luanda'  
 tz: 'GMT+01:00', gmt: 'Africa/Malabo'  
 tz: 'GMT+01:00', gmt: 'Africa/Ndjamena'  
 tz: 'GMT+01:00', gmt: 'Africa/Niamey'  
 tz: 'GMT+01:00', gmt: 'Africa/Porto-Novo'  
 tz: 'GMT+01:00', gmt: 'Africa/Tunis'  
 tz: 'GMT+01:00', gmt: 'Arctic/Longyearbyen'  
 tz: 'GMT+01:00', gmt: 'CET'  
 tz: 'GMT+01:00', gmt: 'Etc/GMT-1'  
 tz: 'GMT+01:00', gmt: 'Europe/Amsterdam'  
 tz: 'GMT+01:00', gmt: 'Europe/Andorra'  
 tz: 'GMT+01:00', gmt: 'Europe/Belgrade'  
 tz: 'GMT+01:00', gmt: 'Europe/Berlin'  
 tz: 'GMT+01:00', gmt: 'Europe/Bratislava'  
 tz: 'GMT+01:00', gmt: 'Europe/Brussels'  
 tz: 'GMT+01:00', gmt: 'Europe/Budapest'  
 tz: 'GMT+01:00', gmt: 'Europe/Busingen'  
 tz: 'GMT+01:00', gmt: 'Europe/Copenhagen'  
 tz: 'GMT+01:00', gmt: 'Europe/Gibraltar'  
 tz: 'GMT+01:00', gmt: 'Europe/Ljubljana'  
 tz: 'GMT+01:00', gmt: 'Europe/Luxembourg'  
 tz: 'GMT+01:00', gmt: 'Europe/Madrid'  
 tz: 'GMT+01:00', gmt: 'Europe/Malta'  
 tz: 'GMT+01:00', gmt: 'Europe/Monaco'  
 tz: 'GMT+01:00', gmt: 'Europe/Oslo'  
 tz: 'GMT+01:00', gmt: 'Europe/Paris'  
 tz: 'GMT+01:00', gmt: 'Europe/Podgorica'  
 tz: 'GMT+01:00', gmt: 'Europe/Prague'  
 tz: 'GMT+01:00', gmt: 'Europe/Rome'  
 tz: 'GMT+01:00', gmt: 'Europe/San Marino'  
 tz: 'GMT+01:00', gmt: 'Europe/Sarajevo'  
 tz: 'GMT+01:00', gmt: 'Europe/Skopje'  
 tz: 'GMT+01:00', gmt: 'Europe/Stockholm'  
 tz: 'GMT+01:00', gmt: 'Europe/Tirane'  
 tz: 'GMT+01:00', gmt: 'Europe/Vaduz'  
 tz: 'GMT+01:00', gmt: 'Europe/Vatican'  
 tz: 'GMT+01:00', gmt: 'Europe/Vienna'  
 tz: 'GMT+01:00', gmt: 'Europe/Warsaw'  
 tz: 'GMT+01:00', gmt: 'Europe/Zagreb'  
 tz: 'GMT+01:00', gmt: 'Europe/Zurich'  
 tz: 'GMT+01:00', gmt: 'MET'  
 tz: 'GMT+02:00', gmt: 'Africa/Blantyre'  
 tz: 'GMT+02:00', gmt: 'Africa/Bujumbura'  
 tz: 'GMT+02:00', gmt: 'Africa/Cairo'  
 tz: 'GMT+02:00', gmt: 'Africa/Gaborone'  
 tz: 'GMT+02:00', gmt: 'Africa/Harare'  
 tz: 'GMT+02:00', gmt: 'Africa/Johannesburg'  
 tz: 'GMT+02:00', gmt: 'Africa/Khartoum'  
 tz: 'GMT+02:00', gmt: 'Africa/Kigali'  
 tz: 'GMT+02:00', gmt: 'Africa/Lubumbashi'  
 tz: 'GMT+02:00', gmt: 'Africa/Lusaka'  
 tz: 'GMT+02:00', gmt: 'Africa/Maputo'  
 tz: 'GMT+02:00', gmt: 'Africa/Maseru'  
 tz: 'GMT+02:00', gmt: 'Africa/Mbabane'  
 tz: 'GMT+02:00', gmt: 'Africa/Tripoli'  
 tz: 'GMT+02:00', gmt: 'Africa/Windhoek'  
 tz: 'GMT+02:00', gmt: 'Asia/Amman'  
 tz: 'GMT+02:00', gmt: 'Asia/Beirut'  
 tz: 'GMT+02:00', gmt: 'Asia/Damascus'  
 tz: 'GMT+02:00', gmt: 'Asia/Famagusta'  
 tz: 'GMT+02:00', gmt: 'Asia/Gaza'  
 tz: 'GMT+02:00', gmt: 'Asia/Hebron'  
 tz: 'GMT+02:00', gmt: 'Asia/Jerusalem'  
 tz: 'GMT+02:00', gmt: 'Asia/Nicosia'  
 tz: 'GMT+02:00', gmt: 'EET'  
 tz: 'GMT+02:00', gmt: 'Etc/GMT-2'  
 tz: 'GMT+02:00', gmt: 'Europe/Athens'  
 tz: 'GMT+02:00', gmt: 'Europe/Bucharest'  
 tz: 'GMT+02:00', gmt: 'Europe/Chisinau'  
 tz: 'GMT+02:00', gmt: 'Europe/Helsinki'  
 tz: 'GMT+02:00', gmt: 'Europe/Kaliningrad'  
 tz: 'GMT+02:00', gmt: 'Europe/Kiev'  
 tz: 'GMT+02:00', gmt: 'Europe/Mariehamn'  
 tz: 'GMT+02:00', gmt: 'Europe/Nicosia'  
 tz: 'GMT+02:00', gmt: 'Europe/Riga'  
 tz: 'GMT+02:00', gmt: 'Europe/Sofia'  
 tz: 'GMT+02:00', gmt: 'Europe/Tallinn'  
 tz: 'GMT+02:00', gmt: 'Europe/Uzhgorod'  
 tz: 'GMT+02:00', gmt: 'Europe/Vilnius'  
 tz: 'GMT+02:00', gmt: 'Europe/Zaporozhye'  
 tz: 'GMT+03:00', gmt: 'Africa/Addis Ababa'  
 tz: 'GMT+03:00', gmt: 'Africa/Asmara'  
 tz: 'GMT+03:00', gmt: 'Africa/Dar es_Salaam'  
 tz: 'GMT+03:00', gmt: 'Africa/Djibouti'  
 tz: 'GMT+03:00', gmt: 'Africa/Juba'  
 tz: 'GMT+03:00', gmt: 'Africa/Kampala'  
 tz: 'GMT+03:00', gmt: 'Africa/Mogadishu'  
 tz: 'GMT+03:00', gmt: 'Africa/Nairobi'  
 tz: 'GMT+03:00', gmt: 'Antarctica/Syowa'  
 tz: 'GMT+03:00', gmt: 'Asia/Aden'  
 tz: 'GMT+03:00', gmt: 'Asia/Baghdad'  
 tz: 'GMT+03:00', gmt: 'Asia/Bahrain'  
 tz: 'GMT+03:00', gmt: 'Asia/Istanbul'  
 tz: 'GMT+03:00', gmt: 'Asia/Kuwait'  
 tz: 'GMT+03:00', gmt: 'Asia/Qatar'  
 tz: 'GMT+03:00', gmt: 'Asia/Riyadh'  
 tz: 'GMT+03:00', gmt: 'Etc/GMT-3'  
 tz: 'GMT+03:00', gmt: 'Europe/Istanbul'  
 tz: 'GMT+03:00', gmt: 'Europe/Kirov'  
 tz: 'GMT+03:00', gmt: 'Europe/Minsk'  
 tz: 'GMT+03:00', gmt: 'Europe/Moscow'  
 tz: 'GMT+03:00', gmt: 'Europe/Simferopol'  
 tz: 'GMT+03:00', gmt: 'Indian/Antananarivo'  
 tz: 'GMT+03:00', gmt: 'Indian/Comoro'  
 tz: 'GMT+03:00', gmt: 'Indian/Mayotte'  
 tz: 'GMT+03:30', gmt: 'Asia/Tehran'  
 tz: 'GMT+04:00', gmt: 'Asia/Baku'  
 tz: 'GMT+04:00', gmt: 'Asia/Dubai'  
 tz: 'GMT+04:00', gmt: 'Asia/Muscat'  
 tz: 'GMT+04:00', gmt: 'Asia/Tbilisi'  
 tz: 'GMT+04:00', gmt: 'Asia/Yerevan'  
 tz: 'GMT+04:00', gmt: 'Etc/GMT-4'  
 tz: 'GMT+04:00', gmt: 'Europe/Astrakhan'  
 tz: 'GMT+04:00', gmt: 'Europe/Samara'  
 tz: 'GMT+04:00', gmt: 'Europe/Saratov'  
 tz: 'GMT+04:00', gmt: 'Europe/Ulyanovsk'  
 tz: 'GMT+04:00', gmt: 'Europe/Volgograd'  
 tz: 'GMT+04:00', gmt: 'Indian/Mahe'  
 tz: 'GMT+04:00', gmt: 'Indian/Mauritius'  
 tz: 'GMT+04:00', gmt: 'Indian/Reunion'  
 tz: 'GMT+04:30', gmt: 'Asia/Kabul'  
 tz: 'GMT+05:00', gmt: 'Antarctica/Mawson'  
 tz: 'GMT+05:00', gmt: 'Asia/Aqtau'  
 tz: 'GMT+05:00', gmt: 'Asia/Aqtobe'  
 tz: 'GMT+05:00', gmt: 'Asia/Ashgabat'  
 tz: 'GMT+05:00', gmt: 'Asia/Atyrau'  
 tz: 'GMT+05:00', gmt: 'Asia/Dushanbe'  
 tz: 'GMT+05:00', gmt: 'Asia/Karachi'  
 tz: 'GMT+05:00', gmt: 'Asia/Oral'  
 tz: 'GMT+05:00', gmt: 'Asia/Qyzylorda'  
 tz: 'GMT+05:00', gmt: 'Asia/Samarkand'  
 tz: 'GMT+05:00', gmt: 'Asia/Tashkent'  
 tz: 'GMT+05:00', gmt: 'Asia/Yekaterinburg'  
 tz: 'GMT+05:00', gmt: 'Etc/GMT-5'  
 tz: 'GMT+05:00', gmt: 'Indian/Kerguelen'  
 tz: 'GMT+05:00', gmt: 'Indian/Maldives'  
 tz: 'GMT+05:30', gmt: 'Asia/Calcutta'  
 tz: 'GMT+05:30', gmt: 'Asia/Colombo'  
 tz: 'GMT+05:30', gmt: 'Asia/Kolkata'  
 tz: 'GMT+05:45', gmt: 'Asia/Kathmandu'  
 tz: 'GMT+05:45', gmt: 'Asia/Katmandu'  
 tz: 'GMT+06:00', gmt: 'Antarctica/Vostok'  
 tz: 'GMT+06:00', gmt: 'Asia/Almaty'  
 tz: 'GMT+06:00', gmt: 'Asia/Bishkek'  
 tz: 'GMT+06:00', gmt: 'Asia/Dhaka'  
 tz: 'GMT+06:00', gmt: 'Asia/Omsk'  
 tz: 'GMT+06:00', gmt: 'Asia/Qostanay'  
 tz: 'GMT+06:00', gmt: 'Asia/Thimphu'  
 tz: 'GMT+06:00', gmt: 'Asia/Urumqi'  
 tz: 'GMT+06:00', gmt: 'Etc/GMT-6'  
 tz: 'GMT+06:00', gmt: 'Indian/Chagos'  
 tz: 'GMT+06:30', gmt: 'Asia/Yangon'  
 tz: 'GMT+06:30', gmt: 'Indian/Cocos'  
 tz: 'GMT+07:00', gmt: 'Antarctica/Davis'  
 tz: 'GMT+07:00', gmt: 'Asia/Bangkok'  
 tz: 'GMT+07:00', gmt: 'Asia/Barnaul'  
 tz: 'GMT+07:00', gmt: 'Asia/Ho Chi_Minh'  
 tz: 'GMT+07:00', gmt: 'Asia/Hovd'  
 tz: 'GMT+07:00', gmt: 'Asia/Jakarta'  
 tz: 'GMT+07:00', gmt: 'Asia/Krasnoyarsk'  
 tz: 'GMT+07:00', gmt: 'Asia/Novokuznetsk'  
 tz: 'GMT+07:00', gmt: 'Asia/Novosibirsk'  
 tz: 'GMT+07:00', gmt: 'Asia/Phnom Penh'  
 tz: 'GMT+07:00', gmt: 'Asia/Pontianak'  
 tz: 'GMT+07:00', gmt: 'Asia/Tomsk'  
 tz: 'GMT+07:00', gmt: 'Asia/Vientiane'  
 tz: 'GMT+07:00', gmt: 'Etc/GMT-7'  
 tz: 'GMT+07:00', gmt: 'Indian/Christmas'  
 tz: 'GMT+08:00', gmt: 'Asia/Brunei'  
 tz: 'GMT+08:00', gmt: 'Asia/Choibalsan'  
 tz: 'GMT+08:00', gmt: 'Asia/Hong Kong'  
 tz: 'GMT+08:00', gmt: 'Asia/Irkutsk'  
 tz: 'GMT+08:00', gmt: 'Asia/Kuala Lumpur'  
 tz: 'GMT+08:00', gmt: 'Asia/Kuching'  
 tz: 'GMT+08:00', gmt: 'Asia/Macau'  
 tz: 'GMT+08:00', gmt: 'Asia/Makassar'  
 tz: 'GMT+08:00', gmt: 'Asia/Manila'  
 tz: 'GMT+08:00', gmt: 'Asia/Shanghai'  
 tz: 'GMT+08:00', gmt: 'Asia/Singapore'  
 tz: 'GMT+08:00', gmt: 'Asia/Taipei'  
 tz: 'GMT+08:00', gmt: 'Asia/Ulaanbaatar'  
 tz: 'GMT+08:00', gmt: 'Australia/Perth'  
 tz: 'GMT+08:00', gmt: 'Etc/GMT-8'  
 tz: 'GMT+08:45', gmt: 'Australia/Eucla'  
 tz: 'GMT+09:00', gmt: 'Asia/Chita'  
 tz: 'GMT+09:00', gmt: 'Asia/Dili'  
 tz: 'GMT+09:00', gmt: 'Asia/Jayapura'  
 tz: 'GMT+09:00', gmt: 'Asia/Khandyga'  
 tz: 'GMT+09:00', gmt: 'Asia/Pyongyang'  
 tz: 'GMT+09:00', gmt: 'Asia/Seoul'  
 tz: 'GMT+09:00', gmt: 'Asia/Tokyo'  
 tz: 'GMT+09:00', gmt: 'Asia/Yakutsk'  
 tz: 'GMT+09:00', gmt: 'Etc/GMT-9'  
 tz: 'GMT+09:00', gmt: 'Pacific/Palau'  
 tz: 'GMT+09:30', gmt: 'Australia/Darwin'  
 tz: 'GMT+10:00', gmt: 'Antarctica/DumontDUrville'  
 tz: 'GMT+10:00', gmt: 'Asia/Ust-Nera'  
 tz: 'GMT+10:00', gmt: 'Asia/Vladivostok'  
 tz: 'GMT+10:00', gmt: 'Australia/Brisbane'  
 tz: 'GMT+10:00', gmt: 'Australia/Lindeman'  
 tz: 'GMT+10:00', gmt: 'Etc/GMT-10'  
 tz: 'GMT+10:00', gmt: 'Pacific/Chuuk'  
 tz: 'GMT+10:00', gmt: 'Pacific/Guam'  
 tz: 'GMT+10:00', gmt: 'Pacific/Port Moresby'  
 tz: 'GMT+10:00', gmt: 'Pacific/Saipan'  
 tz: 'GMT+10:30', gmt: 'Australia/Adelaide'  
 tz: 'GMT+10:30', gmt: 'Australia/Broken Hill'  
 tz: 'GMT+11:00', gmt: 'Antarctica/Casey'  
 tz: 'GMT+11:00', gmt: 'Antarctica/Macquarie'  
 tz: 'GMT+11:00', gmt: 'Asia/Magadan'  
 tz: 'GMT+11:00', gmt: 'Asia/Sakhalin'  
 tz: 'GMT+11:00', gmt: 'Asia/Srednekolymsk'  
 tz: 'GMT+11:00', gmt: 'Australia/Currie'  
 tz: 'GMT+11:00', gmt: 'Australia/Hobart'  
 tz: 'GMT+11:00', gmt: 'Australia/Lord Howe'  
 tz: 'GMT+11:00', gmt: 'Australia/Melbourne'  
 tz: 'GMT+11:00', gmt: 'Australia/Sydney'  
 tz: 'GMT+11:00', gmt: 'Etc/GMT-11'  
 tz: 'GMT+11:00', gmt: 'Pacific/Bougainville'  
 tz: 'GMT+11:00', gmt: 'Pacific/Efate'  
 tz: 'GMT+11:00', gmt: 'Pacific/Guadalcanal'  
 tz: 'GMT+11:00', gmt: 'Pacific/Kosrae'  
 tz: 'GMT+11:00', gmt: 'Pacific/Noumea'  
 tz: 'GMT+11:00', gmt: 'Pacific/Pohnpei'  
 tz: 'GMT+12:00', gmt: 'Asia/Anadyr'  
 tz: 'GMT+12:00', gmt: 'Asia/Kamchatka'  
 tz: 'GMT+12:00', gmt: 'Etc/GMT-12'  
 tz: 'GMT+12:00', gmt: 'Pacific/Fiji'  
 tz: 'GMT+12:00', gmt: 'Pacific/Funafuti'  
 tz: 'GMT+12:00', gmt: 'Pacific/Kwajalein'  
 tz: 'GMT+12:00', gmt: 'Pacific/Majuro'  
 tz: 'GMT+12:00', gmt: 'Pacific/Nauru'  
 tz: 'GMT+12:00', gmt: 'Pacific/Norfolk'  
 tz: 'GMT+12:00', gmt: 'Pacific/Tarawa'  
 tz: 'GMT+12:00', gmt: 'Pacific/Wake'  
 tz: 'GMT+12:00', gmt: 'Pacific/Wallis'  
 tz: 'GMT+13:00', gmt: 'Antarctica/McMurdo'  
 tz: 'GMT+13:00', gmt: 'Etc/GMT-13'  
 tz: 'GMT+13:00', gmt: 'Pacific/Auckland'  
 tz: 'GMT+13:00', gmt: 'Pacific/Enderbury'  
 tz: 'GMT+13:00', gmt: 'Pacific/Fakaofo'  
 tz: 'GMT+13:00', gmt: 'Pacific/Tongatapu'  
 tz: 'GMT+13:45', gmt: 'Pacific/Chatham'  
 tz: 'GMT+14:00', gmt: 'Etc/GMT-14'  
 tz: 'GMT+14:00', gmt: 'Pacific/Apia'  
 tz: 'GMT+14:00', gmt: 'Pacific/Kiritimati' 
      

语言Language

语言Language列表:注意传参时填code,如code: 'zh-CN' en: 'Chinese' nation: '中国 内地' 传参时填zh-CN


cc:'ad'  code:'ca-ES'  prefix:'ca'  en:'Catalan'  nation:'安道尔'  lang:'加泰罗尼亚语'
cc:'af'  code:'prs-AF'  prefix:'prs'  en:'Dari'  nation:'阿富汗'  lang:'达里语'
cc:'af'  code:'ps-AF'  prefix:'ps'  en:'Pashto'  nation:'阿富汗'  lang:'普什图语'
cc:'al'  code:'sq-AL'  prefix:'sq'  en:'Albanian'  nation:'阿尔巴尼亚'  lang:'阿尔巴尼亚语'
cc:'am'  code:'hy-AM'  prefix:'hy'  en:'Armenian'  nation:'亚美尼亚'  lang:'亚美尼亚语'
cc:'ao'  code:'pt-PT'  prefix:'pt'  en:'Portuguese'  nation:'安哥拉'  lang:'葡萄牙语'
cc:'aq'  code:'en-US'  prefix:'en'  en:'English'  nation:'南极洲'  lang:'英语'
cc:'ar'  code:'es-AR'  prefix:'es'  en:'Spanish'  nation:'阿根廷'  lang:'西班牙语'
cc:'as'  code:'en-US'  prefix:'en'  en:'English'  nation:'美属萨摩亚'  lang:'英语'
cc:'at'  code:'de-AT'  prefix:'de'  en:'German'  nation:'奥地利'  lang:'德语'
cc:'ag'  code:'en-US'  prefix:'en'  en:'English'  nation:'安提瓜和巴布达'  lang:'英语'
cc:'ai'  code:'en-US'  prefix:'en'  en:'English'  nation:'安圭拉'  lang:'英语'
cc:'ae'  code:'ar-AE'  prefix:'ar'  en:'Arabic'  nation:'阿联酋'  lang:'阿拉伯语'
cc:'ax'  code:'sv-SE'  prefix:'sv'  en:'Swedish'  nation:'奥兰群岛'  lang:'瑞典语'
cc:'ax'  code:'fi-FI'  prefix:'fi'  en:'Finnish'  nation:'奥兰群岛'  lang:'芬兰语'
cc:'az'  code:'az-Latn-AZ'  prefix:'az'  en:'Azerbaijani'  nation:'阿塞拜疆'  lang:'阿塞拜疆语'
cc:'az'  code:'az-Cyrl-AZ'  prefix:'az'  en:'Azerbaijani'  nation:'阿塞拜疆'  lang:'阿塞拜疆语'
cc:'ba'  code:'bs-BA'  prefix:'bs'  en:'Bosnian'  nation:'波黑'  lang:'波斯尼亚语'
cc:'ba'  code:'hr-BA'  prefix:'hr'  en:'Croatian'  nation:'波黑'  lang:'克罗地亚语'
cc:'ba'  code:'sr-BA'  prefix:'sr'  en:'Serbian'  nation:'波黑'  lang:'塞尔维亚语'
cc:'aw'  code:'nl-NL'  prefix:'nl'  en:'Dutch'  nation:'阿鲁巴'  lang:'荷兰语'
cc:'bd'  code:'bn-BD'  prefix:'bn'  en:'Bengali'  nation:'孟加拉'  lang:'孟加拉语'
cc:'au'  code:'en-AU'  prefix:'en'  en:'English'  nation:'澳大利亚'  lang:'英语'
cc:'bf'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'布基纳法索'  lang:'法语'
cc:'bg'  code:'bg-BG'  prefix:'bg'  en:'Bulgarian'  nation:'保加利亚'  lang:'保加利亚语'
cc:'bh'  code:'ar-BH'  prefix:'ar'  en:'Arabic'  nation:'巴林'  lang:'阿拉伯语'
cc:'bj'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'贝宁'  lang:'法语'
cc:'bi'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'布隆迪'  lang:'法语'
cc:'bi'  code:'en-US'  prefix:'en'  en:'English'  nation:'布隆迪'  lang:'英语'
cc:'bm'  code:'en-US'  prefix:'en'  en:'English'  nation:'百慕大'  lang:'英语'
cc:'bl'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'圣巴泰勒米岛'  lang:'法语'
cc:'bb'  code:'en-US'  prefix:'en'  en:'English'  nation:'巴巴多斯'  lang:'英语'
cc:'bo'  code:'quz-BO'  prefix:'quz'  en:'Quechua'  nation:'玻利维亚'  lang:'克丘亚语'
cc:'be'  code:'fr-BE'  prefix:'fr'  en:'French'  nation:'比利时'  lang:'法语'
cc:'bq'  code:'nl-NL'  prefix:'nl'  en:'Dutch'  nation:'荷兰加勒比区'  lang:'荷兰语'
cc:'br'  code:'pt-BR'  prefix:'pt'  en:'Portuguese'  nation:'巴西'  lang:'葡萄牙语'
cc:'bs'  code:'en-US'  prefix:'en'  en:'English'  nation:'巴哈马'  lang:'英语'
cc:'bt'  code:'en-US'  prefix:'en'  en:'English'  nation:'不丹'  lang:'英语'
cc:'bv'  code:''  prefix:''    nation:'布韦岛'  lang:''
cc:'bw'  code:'tn-ZA'  prefix:'tn'  en:'Tswana'  nation:'博茨瓦纳'  lang:'茨瓦纳语'
cc:'by'  code:'be-BY'  prefix:'be'  en:'Belarus'  nation:'白俄罗斯'  lang:'白俄罗斯语'
cc:'bz'  code:'en-BZ'  prefix:'en'  en:'English'  nation:'伯利兹'  lang:'英语'
cc:'ca'  code:'fr-CA'  prefix:'fr'  en:'French'  nation:'加拿大'  lang:'法语'
cc:'cc'  code:''  prefix:''    nation:'科科斯群岛'  lang:''
cc:'bn'  code:'ms-BN'  prefix:'ms'  en:'Malay'  nation:'文莱'  lang:'马来语'
cc:'cf'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'中非'  lang:'法语'
cc:'cl'  code:'arn-CL'  prefix:'arn'  en:'Mapdangan'  nation:'智利'  lang:'马普丹冈语'
cc:'cm'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'喀麦隆'  lang:'法语'
cc:'cm'  code:'en-US'  prefix:'en'  en:'English'  nation:'喀麦隆'  lang:'英语'
cc:'co'  code:'es-CO'  prefix:'es'  en:'Spanish'  nation:'哥伦比亚'  lang:'西班牙语'
cc:'cr'  code:'es-CR'  prefix:'es'  en:'Spanish'  nation:'哥斯达黎加'  lang:'西班牙语'
cc:'cv'  code:'pt-PT'  prefix:'pt'  en:'Portuguese'  nation:'佛得角'  lang:'葡萄牙语'
cc:'cu'  code:'es-ES'  prefix:'es'  en:'Spanish'  nation:'古巴'  lang:'西班牙语'
cc:'cx'  code:'en-US'  prefix:'en'  en:'English'  nation:'圣诞岛'  lang:'英语'
cc:'cy'  code:'el-GR'  prefix:'el'  en:'Greek'  nation:'塞浦路斯'  lang:'希腊语'
cc:'cy'  code:'tr-TR'  prefix:'tr'  en:'Turkish'  nation:'塞浦路斯'  lang:'土耳其语'
cc:'cz'  code:'cs-CZ'  prefix:'cs'  en:'Czech'  nation:'捷克'  lang:'捷克语'
cc:'de'  code:'de-DE'  prefix:'de'  en:'German'  nation:'德国'  lang:'德语'
cc:'dj'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'吉布提'  lang:'法语'
cc:'dj'  code:'ar-SA'  prefix:'ar'  en:'Arabic'  nation:'吉布提'  lang:'阿拉伯语'
cc:'dk'  code:'da-DK'  prefix:'da'  en:'Danish'  nation:'丹麦'  lang:'丹麦语'
cc:'dm'  code:'en-US'  prefix:'en'  en:'English'  nation:'多米尼克'  lang:'英语'
cc:'do'  code:'es-DO'  prefix:'es'  en:'Spanish'  nation:'多米尼加'  lang:'西班牙语'
cc:'dz'  code:'ar-DZ'  prefix:'ar'  en:'Arabic'  nation:'阿尔及利亚'  lang:'阿拉伯语'
cc:'ec'  code:'quz-EC'  prefix:'quz'  en:'Quechua'  nation:'厄瓜多尔'  lang:'克丘亚语'
cc:'ee'  code:'et-EE'  prefix:'et'  en:'Estonian'  nation:'爱沙尼亚'  lang:'爱沙尼亚语'
cc:'eh'  code:'ar-SA'  prefix:'ar'  en:'Arabic'  nation:'西撒哈拉'  lang:'阿拉伯语'
cc:'er'  code:'ar-SA'  prefix:'ar'  en:'Arabic'  nation:'厄立特里亚'  lang:'阿拉伯语'
cc:'er'  code:'en-US'  prefix:'en'  en:'English'  nation:'厄立特里亚'  lang:'英语'
cc:'es'  code:'es-ES'  prefix:'es'  en:'Spanish'  nation:'西班牙'  lang:'西班牙语'
cc:'eg'  code:'ar-EG'  prefix:'ar'  en:'Arabic'  nation:'埃及'  lang:'阿拉伯语'
cc:'fi'  code:'se-FI'  prefix:'se'  en:'Northern Sami' nation:'芬兰'  lang:'北萨米语'
cc:'fj'  code:'en-US'  prefix:'en'  en:'English'  nation:'斐济群岛'  lang:'英语'
cc:'fk'  code:'es-ES'  prefix:'es'  en:'Spanish'  nation:'马尔维纳斯群岛(福克兰)'  lang:'西班牙语'
cc:'fk'  code:'en-US'  prefix:'en'  en:'English'  nation:'马尔维纳斯群岛(福克兰)'  lang:'英语'
cc:'ch'  code:'de-CH'  prefix:'de'  en:'German'  nation:'瑞士'  lang:'德语'
cc:'fo'  code:'fo-FO'  prefix:'fo'  en:'Faroese'  nation:'法罗群岛'  lang:'法罗语'
cc:'fr'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'法国'  lang:'法语'
cc:'fm'  code:'en-US'  prefix:'en'  en:'English'  nation:'密克罗尼西亚联邦'  lang:'英语'
cc:'ga'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'加蓬'  lang:'法语'
cc:'gd'  code:'en-US'  prefix:'en'  en:'English'  nation:'格林纳达'  lang:'英语'
cc:'ge'  code:'ka-GE'  prefix:'ka'  en:'Georgian'  nation:'格鲁吉亚'  lang:'格鲁吉亚语'
cc:'gf'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'法属圭亚那'  lang:'法语'
cc:'gh'  code:'en-US'  prefix:'en'  en:'English'  nation:'加纳'  lang:'英语'
cc:'gi'  code:'en-US'  prefix:'en'  en:'English'  nation:'直布罗陀'  lang:'英语'
cc:'gl'  code:'kl-GL'  prefix:'kl'  en:'Greenland'  nation:'格陵兰'  lang:'格陵兰语'
cc:'gn'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'几内亚'  lang:'法语'
cc:'gp'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'瓜德罗普'  lang:'法语'
cc:'gq'  code:'es-ES'  prefix:'es'  en:'Spanish'  nation:'赤道几内亚'  lang:'西班牙语'
cc:'gq'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'赤道几内亚'  lang:'法语'
cc:'gq'  code:'pt-PT'  prefix:'pt'  en:'Portuguese'  nation:'赤道几内亚'  lang:'葡萄牙语'
cc:'gr'  code:'el-GR'  prefix:'el'  en:'Greek'  nation:'希腊'  lang:'希腊语'
cc:'gs'  code:'en-US'  prefix:'en'  en:'English'  nation:'南乔治亚岛和南桑威奇群岛'  lang:'英语'
cc:'gt'  code:'qut-GT'  prefix:'qut'  en:'Keeche'  nation:'危地马拉'  lang:'基切语'
cc:'gu'  code:'en-US'  prefix:'en'  en:'English'  nation:'关岛'  lang:'英语'
cc:'gw'  code:'pt-PT'  prefix:'pt'  en:'Portuguese'  nation:'几内亚比绍'  lang:'葡萄牙语'
cc:'gy'  code:'en-US'  prefix:'en'  en:'English'  nation:'圭亚那'  lang:'英语'
cc:'hk'  code:'zh-HK'  prefix:'zh'  en:'Chinese'  nation:'中国香港'  lang:'中文'
cc:'hm'  code:''  prefix:''    nation:'赫德岛和麦克唐纳群岛'  lang:''
cc:'hn'  code:'es-HN'  prefix:'es'  en:'Spanish'  nation:'洪都拉斯'  lang:'西班牙语'
cc:'hr'  code:'hr-HR'  prefix:'hr'  en:'Croatian'  nation:'克罗地亚'  lang:'克罗地亚语'
cc:'hu'  code:'hu-HU'  prefix:'hu'  en:'Hungarian'  nation:'匈牙利'  lang:'匈牙利语'
cc:'il'  code:'he-IL'  prefix:'he'  en:'Hebrew'  nation:'以色列'  lang:'希伯来语'
cc:'ie'  code:'ga-IE'  prefix:'ga'  en:'Irish'  nation:'爱尔兰'  lang:'爱尔兰语'
cc:'id'  code:'id-ID'  prefix:'id'  en:'Indonesian'  nation:'印尼'  lang:'印度尼西亚语'
cc:'ht'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'海地'  lang:'法语'
cc:'im'  code:'en-US'  prefix:'en'  en:'English'  nation:'马恩岛'  lang:'英语'
cc:'io'  code:'en-GB'  prefix:'en'  en:'English'  nation:'英属印度洋领地'  lang:'英语'
cc:'in'  code:'hi-IN'  prefix:'hi'  en:'Hindi'  nation:'印度'  lang:'印地语'
cc:'is'  code:'is-IS'  prefix:'is'  en:'Island'  nation:'冰岛'  lang:'冰岛语'
cc:'ir'  code:'fa-IR'  prefix:'fa'  en:'Persian'  nation:'伊朗'  lang:'波斯语'
cc:'iq'  code:'ar-IQ'  prefix:'ar'  en:'Arabic'  nation:'伊拉克'  lang:'阿拉伯语'
cc:'it'  code:'it-IT'  prefix:'it'  en:'Italian'  nation:'意大利'  lang:'意大利语'
cc:'je'  code:'en-US'  prefix:'en'  en:'English'  nation:'泽西岛'  lang:'英语'
cc:'je'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'泽西岛'  lang:'法语'
cc:'jm'  code:'en-JM'  prefix:'en'  en:'English'  nation:'牙买加'  lang:'英语'
cc:'jo'  code:'ar-JO'  prefix:'ar'  en:'Arabic'  nation:'约旦'  lang:'阿拉伯语'
cc:'jp'  code:'ja-JP'  prefix:'ja'  en:'Japanese'  nation:'日本'  lang:'日语'
cc:'kh'  code:'km-KH'  prefix:'km'  en:'Khmer'  nation:'柬埔寨'  lang:'高棉语'
cc:'ki'  code:'en-US'  prefix:'en'  en:'English'  nation:'基里巴斯'  lang:'英语'
cc:'km'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'科摩罗'  lang:'法语'
cc:'km'  code:'ar-SA'  prefix:'ar'  en:'Arabic'  nation:'科摩罗'  lang:'阿拉伯语'
cc:'kw'  code:'ar-KW'  prefix:'ar'  en:'Arabic Language' nation:'科威特'  lang:'阿拉伯语'
cc:'ky'  code:'en-US'  prefix:'en'  en:'English'  nation:'开曼群岛'  lang:'英语'
cc:'li'  code:'de-LI'  prefix:'de'  en:'German'  nation:'列支敦士登'  lang:'德语'
cc:'lk'  code:'si-LK'  prefix:'si'  en:'Sinhala'  nation:'斯里兰卡'  lang:'僧伽罗语'
cc:'lb'  code:'ar-LB'  prefix:'ar'  en:'Arabic'  nation:'黎巴嫩'  lang:'阿拉伯语'
cc:'lt'  code:'lt-LT'  prefix:'lt'  en:'Lithuanian'  nation:'立陶宛'  lang:'立陶宛语'
cc:'lu'  code:'de-LU'  prefix:'de'  en:'German'  nation:'卢森堡'  lang:'德语'
cc:'lr'  code:'en-US'  prefix:'en'  en:'English'  nation:'利比里亚'  lang:'英语'
cc:'lv'  code:'lv-LV'  prefix:'lv'  en:'Latvian'  nation:'拉脱维亚'  lang:'拉脱维亚语'
cc:'ly'  code:'ar-LY'  prefix:'ar'  en:'Arabic'  nation:'利比亚'  lang:'阿拉伯语'
cc:'ma'  code:'ar-MA'  prefix:'ar'  en:'Arabic'  nation:'摩洛哥'  lang:'阿拉伯语'
cc:'mc'  code:'fr-MC'  prefix:'fr'  en:'French'  nation:'摩纳哥'  lang:'法语'
cc:'md'  code:'ro-RO'  prefix:'ro'  en:'Romanian'  nation:'摩尔多瓦'  lang:'罗马尼亚语'
cc:'me'  code:'sr-Latn-ME'  prefix:'sr'  en:'Serbian'  nation:'黑山'  lang:'塞尔维亚语'
cc:'mf'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'法属圣马丁'  lang:'法语'
cc:'mg'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'马达加斯加'  lang:'法语'
cc:'mh'  code:'en-US'  prefix:'en'  en:'English'  nation:'马绍尔群岛'  lang:'英语'
cc:'ls'  code:'en-US'  prefix:'en'  en:'English'  nation:'莱索托'  lang:'英语'
cc:'mk'  code:'mk-MK'  prefix:'mk'  en:'Macedonian'  nation:'马其顿'  lang:'马其顿语'
cc:'mq'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'马提尼克'  lang:'法语'
cc:'mr'  code:'ar-SA'  prefix:'ar'  en:'Arabic'  nation:'毛里塔尼亚'  lang:'阿拉伯语'
cc:'ms'  code:'en-US'  prefix:'en'  en:'English'  nation:'蒙塞拉特岛'  lang:'英语'
cc:'mt'  code:'mt-MT'  prefix:'mt'  en:'Maltese'  nation:'马耳他'  lang:'马耳他语'
cc:'mv'  code:'dv-MV'  prefix:'dv'  en:'Dhivehi'  nation:'马尔代夫'  lang:'迪维希语'
cc:'mw'  code:'en-US'  prefix:'en'  en:'English'  nation:'马拉维'  lang:'英语'
cc:'mx'  code:'es-MX'  prefix:'es'  en:'Spanish'  nation:'墨西哥'  lang:'西班牙语'
cc:'ml'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'马里'  lang:'法语'
cc:'my'  code:'ms-MY'  prefix:'ms'  en:'Malay'  nation:'马来西亚'  lang:'马来语'
cc:'na'  code:'en-US'  prefix:'en'  en:'English'  nation:'纳米比亚'  lang:'英语'
cc:'ne'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'尼日尔'  lang:'法语'
cc:'nf'  code:'en-US'  prefix:'en'  en:'English'  nation:'诺福克岛'  lang:'英语'
cc:'ng'  code:'ha-Latn-NG'  prefix:'ha'  en:'Hausa'  nation:'尼日利亚'  lang:'豪撒语'
cc:'ni'  code:'es-NI'  prefix:'es'  en:'Spain'  nation:'尼加拉瓜'  lang:'西班牙语'
cc:'nl'  code:'fy-NL'  prefix:'fy'  en:'Frisian'  nation:'荷兰'  lang:'弗里西亚语'
cc:'no'  code:'se-NO'  prefix:'se'  en:'Northern Sami' nation:'挪威'  lang:'北萨米语'
cc:'np'  code:'ne-NP'  prefix:'ne'  en:'Nepal'  nation:'尼泊尔'  lang:'尼泊尔语'
cc:'nr'  code:'en-US'  prefix:'en'  en:'English'  nation:'瑙鲁'  lang:'英语'
cc:'om'  code:'ar-OM'  prefix:'ar'  en:'Arabic'  nation:'阿曼'  lang:'阿拉伯语'
cc:'pa'  code:'es-PA'  prefix:'es'  en:'Spanish'  nation:'巴拿马'  lang:'西班牙语'
cc:'pe'  code:'quz-PE'  prefix:'quz'  en:'Quechua'  nation:'秘鲁'  lang:'克丘亚语'
cc:'mm'  code:''  prefix:''    nation:'缅甸'  lang:''
cc:'pf'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'法属波利尼西亚'  lang:'法语'
cc:'mo'  code:'zh-MO'  prefix:'zh'  en:'Chinese'  nation:'中国澳门'  lang:'中文'
cc:'ph'  code:'fil-PH'  prefix:'fil'  en:'Philippine'  nation:'菲律宾'  lang:'菲律宾语'
cc:'pg'  code:'en-US'  prefix:'en'  en:'English'  nation:'巴布亚新几内亚'  lang:'英语'
cc:'pl'  code:'pl-PL'  prefix:'pl'  en:'Polish'  nation:'波兰'  lang:'波兰语'
cc:'pk'  code:'ur-PK'  prefix:'ur'  en:'Urdu'  nation:'巴基斯坦'  lang:'乌尔都语'
cc:'ps'  code:'ar-SA'  prefix:'ar'  en:'Arabic'  nation:'巴勒斯坦'  lang:'阿拉伯语'
cc:'pr'  code:'es-PR'  prefix:'es'  en:'Spain Language' nation:'波多黎各'  lang:'西班牙语'
cc:'pn'  code:'en-US'  prefix:'en'  en:'English'  nation:'皮特凯恩群岛'  lang:'英语'
cc:'pw'  code:'en-US'  prefix:'en'  en:'English'  nation:'帕劳'  lang:'英语'
cc:'qa'  code:'ar-QA'  prefix:'ar'  en:'Arabic'  nation:'卡塔尔'  lang:'阿拉伯语'
cc:'ro'  code:'ro-RO'  prefix:'ro'  en:'Romanian'  nation:'罗马尼亚'  lang:'罗马尼亚语'
cc:'re'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'留尼汪'  lang:'法语'
cc:'rs'  code:'sr-Latn-RS'  prefix:'sr'  en:'Serbian'  nation:'塞尔维亚'  lang:'塞尔维亚语'
cc:'py'  code:'es-PY'  prefix:'es'  en:'Spanish'  nation:'巴拉圭'  lang:'西班牙语'
cc:'ru'  code:'ru-RU'  prefix:'ru'  en:'Russian'  nation:'俄罗斯'  lang:'俄语'
cc:'sb'  code:'en-US'  prefix:'en'  en:'English'  nation:'所罗门群岛'  lang:'英语'
cc:'se'  code:'se-SE'  prefix:'se'  en:'Northern Sami' nation:'瑞典'  lang:'北萨米语'
cc:'sc'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'塞舌尔'  lang:'法语'
cc:'sc'  code:'en-US'  prefix:'en'  en:'English'  nation:'塞舌尔'  lang:'英语'
cc:'sg'  code:'en-SG'  prefix:'en'  en:'English'  nation:'新加坡'  lang:'英语'
cc:'sd'  code:'ar-SA'  prefix:'ar'  en:'Arabic'  nation:'苏丹'  lang:'阿拉伯语'
cc:'sd'  code:'en-US'  prefix:'en'  en:'English'  nation:'苏丹'  lang:'英语'
cc:'si'  code:'sl-SI'  prefix:'sl'  en:'Slovenian'  nation:'斯洛文尼亚'  lang:'斯洛文尼亚语'
cc:'sj'  code:'nn-no'  prefix:'no'  en:'Norwegian'  nation:'斯瓦尔巴群岛和扬马延岛'  lang:'挪威语'
cc:'sk'  code:'sk-SK'  prefix:'sk'  en:'Slovak'  nation:'斯洛伐克'  lang:'斯洛伐克语'
cc:'sl'  code:'en-US'  prefix:'en'  en:'English'  nation:'塞拉利昂'  lang:'英语'
cc:'sm'  code:'it-IT'  prefix:'it'  en:'Italian'  nation:'圣马力诺'  lang:'意大利语'
cc:'sn'  code:'wo-SN'  prefix:'wo'  en:'Wolof'  nation:'塞内加尔'  lang:'沃洛夫语'
cc:'so'  code:'ar-SA'  prefix:'ar'  en:'Arabic'  nation:'索马里'  lang:'阿拉伯语'
cc:'sr'  code:'nl-NL'  prefix:'nl'  en:'Dutch'  nation:'苏里南'  lang:'荷兰语'
cc:'ss'  code:'en-US'  prefix:'en'  en:'English'  nation:'南苏丹'  lang:'英语'
cc:'st'  code:'en-US'  prefix:'en'  en:'English'  nation:'圣多美和普林西比'  lang:'英语'
cc:'sv'  code:'es-SV'  prefix:'es'  en:'Spanish'  nation:'萨尔瓦多'  lang:'西班牙语'
cc:'sy'  code:'ar-SY'  prefix:'ar'  en:'Arabic'  nation:'叙利亚'  lang:'阿拉伯语'
cc:'sz'  code:'en-US'  prefix:'en'  en:'English'  nation:'斯威士兰'  lang:'英语'
cc:'tc'  code:'en-US'  prefix:'en'  en:'English'  nation:'特克斯和凯科斯群岛'  lang:'英语'
cc:'tg'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'多哥'  lang:'法语'
cc:'td'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'乍得'  lang:'法语'
cc:'td'  code:'ar-SA'  prefix:'ar'  en:'Arabic'  nation:'乍得'  lang:'阿拉伯语'
cc:'th'  code:'th-TH'  prefix:'ta'  en:'Thai'  nation:'泰国'  lang:'泰语'
cc:'tk'  code:'en-US'  prefix:'en'  en:'English'  nation:'托克劳'  lang:'英语'
cc:'tl'  code:'pt-PT'  prefix:'pt'  en:'Portuguese'  nation:'东帝汶'  lang:'葡萄牙语'
cc:'tn'  code:'ar-TN'  prefix:'ar'  en:'Arabic'  nation:'突尼斯'  lang:'阿拉伯语'
cc:'tr'  code:'tr-TR'  prefix:'tr'  en:'Turkish'  nation:'土耳其'  lang:'土耳其语'
cc:'to'  code:'en-US'  prefix:'en'  en:'English'  nation:'汤加'  lang:'英语'
cc:'tz'  code:'sw-KE'  prefix:'sw'  en:'Swah Greek' nation:'坦桑尼亚'  lang:'斯瓦希里语'
cc:'tz'  code:'en-US'  prefix:'en'  en:'English'  nation:'坦桑尼亚'  lang:'英语'
cc:'ua'  code:'uk-UA'  prefix:'uk'  en:'Ukrainian'  nation:'乌克兰'  lang:'乌克兰语'
cc:'uy'  code:'es-UY'  prefix:'es'  en:'Spanish'  nation:'乌拉圭'  lang:'西班牙语'
cc:'ug'  code:'sw-KE'  prefix:'sw'  en:'Swah Greek' nation:'乌干达'  lang:'斯瓦希里语'
cc:'ug'  code:'en-US'  prefix:'en'  en:'English'  nation:'乌干达'  lang:'英语'
cc:'us'  code:'en-US'  prefix:'en'  en:'English'  nation:'美国'  lang:'英语'
cc:'va'  code:'it-IT'  prefix:'it'  en:'Italian'  nation:'梵蒂冈'  lang:'意大利语'
cc:'vi'  code:'en-US'  prefix:'en'  en:'English'  nation:'美属维尔京群岛'  lang:'英语'
cc:'ve'  code:'es-VE'  prefix:'es'  en:'Spanish'  nation:'委内瑞拉'  lang:'西班牙语'
cc:'ws'  code:'en-US'  prefix:'en'  en:'English'  nation:'萨摩亚'  lang:'英语'
cc:'vn'  code:'vi-VN'  prefix:'vi'  en:'Vietnamese'  nation:'越南'  lang:'越南语'
cc:'vg'  code:'en-GB'  prefix:'en'  en:'English'  nation:'英属维尔京群岛'  lang:'英语'
cc:'yt'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'马约特'  lang:'法语'
cc:'ye'  code:'ar-YE'  prefix:'ar'  en:'Arabic'  nation:'也门'  lang:'阿拉伯语'
cc:'wf'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'瓦利斯和富图纳'  lang:'法语'
cc:'zw'  code:'en-ZW'  prefix:'en'  en:'English'  nation:'津巴布韦'  lang:'英语'
cc:'za'  code:'nso-ZA'  prefix:'nso'  en:'Basotho'  nation:'南非'  lang:'巴索托语'
cc:'zm'  code:'en-US'  prefix:'en'  en:'English'  nation:'赞比亚'  lang:'英语'
cc:'cn'  code:'zh-CN'  prefix:'zh'  en:'Chinese'  nation:'中国内地'  lang:'中文'
cc:'cd'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'刚果(金)'  lang:'法语'
cc:'mz'  code:'pt-PT'  prefix:'pt'  en:'Portuguese'  nation:'莫桑比克'  lang:'葡萄牙语'
cc:'cg'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'刚果(布)'  lang:'法语'
cc:'gg'  code:'en-US'  prefix:'en'  en:'English'  nation:'根西岛'  lang:'英语'
cc:'gm'  code:'en-US'  prefix:'en'  en:'English'  nation:'冈比亚'  lang:'英语'
cc:'mp'  code:'en-US'  prefix:'en'  en:'English'  nation:'北马里亚纳群岛'  lang:'英语'
cc:'et'  code:'am-ET'  prefix:'am'  en:'Amharic'  nation:'埃塞俄比亚'  lang:'阿姆哈拉语'
cc:'tf'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'法属南部领地'  lang:'法语'
cc:'vu'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'瓦努阿图'  lang:'法语'
cc:'vu'  code:'en-US'  prefix:'en'  en:'English'  nation:'瓦努阿图'  lang:'英语'
cc:'nc'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'新喀里多尼亚'  lang:'法语'
cc:'um'  code:'en-US'  prefix:'en'  en:'English'  nation:'美国本土外小岛屿'  lang:'英语'
cc:'nu'  code:'en-US'  prefix:'en'  en:'English'  nation:'纽埃'  lang:'英语'
cc:'tt'  code:'en-TT'  prefix:'en'  en:'English'  nation:'特立尼达和多巴哥'  lang:'英语'
cc:'vc'  code:'en-US'  prefix:'en'  en:'English'  nation:'圣文森特和格林纳丁斯'  lang:'英语'
cc:'ck'  code:'en-US'  prefix:'en'  en:'English'  nation:'库克群岛'  lang:'英语'
cc:'uk'  code:'en-GB'  prefix:'en'  en:'English'  nation:'英国'  lang:'英语'
cc:'tv'  code:'en-US'  prefix:'en'  en:'English'  nation:'图瓦卢'  lang:'英语'
cc:'tw'  code:'zh-TW'  prefix:'zh'  en:'Chinese (Traditional)' nation:'中国台湾'  lang:'中文(繁体)'
cc:'nz'  code:'en-NZ'  prefix:'en'  en:'English'  nation:'新西兰'  lang:'英语'
cc:'nz'  code:'mi-NZ'  prefix:'mi'  en:'Maori'  nation:'新西兰'  lang:'毛利语'
cc:'sa'  code:'ar-SA'  prefix:'ar'  en:'Arabic'  nation:'沙特阿拉伯'  lang:'阿拉伯语'
cc:'kr'  code:'ko-KR'  prefix:'ko'  en:'North Korea' nation:'韩国'  lang:'朝鲜语'
cc:'kp'  code:'ko-KR'  prefix:'ko'  en:'North Korea' nation:'朝鲜'  lang:'朝鲜语'
cc:'la'  code:'lo-LA'  prefix:'lo'  en:'Lao'  nation:'老挝'  lang:'老挝语'
cc:'kg'  code:'ky-KG'  prefix:'ky'  en:'Kyrgyz'  nation:'吉尔吉斯斯坦'  lang:'吉尔吉斯语'
cc:'pt'  code:'pt-PT'  prefix:'pt'  en:'Portuguese'  nation:'葡萄牙'  lang:'葡萄牙语'
cc:'kz'  code:'kk-KZ'  prefix:'kk'  en:'Kazakh'  nation:'哈萨克斯坦'  lang:'哈萨克语'
cc:'tj'  code:'tg-Cyrl-TJ'  prefix:'tg'  en:'Tajik Language' nation:'塔吉克斯坦'  lang:'塔吉克语'
cc:'tm'  code:'tk-TM'  prefix:'tk'  en:'Turkmen'  nation:'土库曼斯坦'  lang:'土库曼语'
cc:'uz'  code:'uz-Latn-UZ'  prefix:'uz'  en:'Uzbek'  nation:'乌兹别克斯坦'  lang:'乌兹别克语'
cc:'sh'  code:'en-US'  prefix:'en'  en:'English'  nation:'圣赫勒拿'  lang:'英语'
cc:'pm'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'圣皮埃尔和密克隆'  lang:'法语'
cc:'kn'  code:'en-US'  prefix:'en'  en:'English'  nation:'圣基茨和尼维斯'  lang:'英语'
cc:'lc'  code:'en-US'  prefix:'en'  en:'English'  nation:'圣卢西亚'  lang:'英语'
cc:'lc'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'圣卢西亚'  lang:'法语'
cc:'ci'  code:'fr-FR'  prefix:'fr'  en:'French'  nation:'科特迪瓦'  lang:'法语'
cc:'mu'  code:'en-US'  prefix:'en'  en:'English'  nation:'毛里求斯'  lang:'英语'
cc:'ke'  code:'sw-KE'  prefix:'sw'  en:'Swah Greek' nation:'肯尼亚'  lang:'斯瓦希里语'
cc:'mn'  code:'mn-Mong'  prefix:'mn'  en:'Mongolian'  nation:'蒙古国蒙古'  lang:'蒙古语'
cc:'rw'  code:'rw-RW'  prefix:'rw'  en:'Rwanda'  nation:'卢旺达'  lang:'卢旺达语'


      

字体fonts

字体列表:注意传参时直接填字体名称,如Calibri


 Arial
 Calibri
 Cambria
 Cambria Math
 Candara
 Comic Sans MS
 Comic Sans MS Bold
 Comic Sans
 Consolas
 Constantia
 Corbel
 Courier New
 Caurier Regular
 Ebrima
 Fixedsys Regular
 Franklin Gothic
 Gabriola Regular
 Gadugi
 Georgia
 HoloLens MDL2 Assets Regular
 Impact Regular
 Javanese Text Regular
 Leelawadee UI
 Lucida Console Regular
 Lucida Sans Unicode Regular
 Malgun Gothic
 Microsoft Himalaya Regular
 Microsoft JhengHei
 Microsoft JhengHei UI
 Microsoft PhangsPa
 Microsoft Sans Serif Regular
 Microsoft Tai Le
 Microsoft YaHei
 Microsoft YaHei UI
 Microsoft Yi Baiti Regular
 MingLiU_HKSCS-ExtB Regular
 MingLiu-ExtB Regular
 Modern Regular
 Mongolia Baiti Regular
 MS Gothic Regular
 MS PGothic Regular
 MS Sans Serif Regular
 MS Serif Regular
 MS UI Gothic Regular
 MV Boli Regular
 Myanmar Text
 Nimarla UI
 MV Boli Regular
 Myanmar Tet
 Nirmala UI
 NSimSun Regular
 Palatino Linotype
 PMingLiU-ExtB Regular
 Roman Regular
 Script Regular
 Segoe MDL2 Assets Regular
 Segoe Print
 Segoe Script
 Segoe UI
 Segoe UI Emoji Regular
 Segoe UI Historic Regular
 Segoe UI Symbol Regular
 SimSun Regular
 SimSun-ExtB Regular
 Sitka Banner
 Sitka Display
 Sitka Heading
 Sitka Small
 Sitka Subheading
 Sitka Text
 Small Fonts Regular
 Sylfaen Regular
 Symbol Regular
 System Bold
 Tahoma
 Terminal
 Times New Roman
 Trebuchet MS
 Verdana
 Webdings Regular
 Wingdings Regular
 Yu Gothic
 Yu Gothic UI
 Arial
 Arial Black
 Calibri
 Calibri Light
 Cambria
 Cambria Math
 Candara
 Comic Sans MS
 Consolas
 Constantia
 Corbel
 Courier
 Courier New
 Ebrima
 Fixedsys
 Franklin Gothic Medium
 Gabriola
 Gadugi
 Georgia
 HoloLens MDL2 Assets
 Impact
 Javanese Text
 Leelawadee UI
 Leelawadee UI Semilight
 Lucida Console
 Lucida Sans Unicode
 MS Gothic
 MS PGothic
 MS Sans Serif
 MS Serif
 MS UI Gothic
 MV Boli
 Malgun Gothic
 Malgun Gothic Semilight
 Marlett
 Microsoft Himalaya
 Microsoft JhengHei
 Microsoft JhengHei Light
 Microsoft JhengHei UI
 Microsoft JhengHei UI Light
 Microsoft New Tai Lue
 Microsoft PhagsPa
 Microsoft Sans Serif
 Microsoft Tai Le
 Microsoft YaHei
 Microsoft YaHei Light
 Microsoft YaHei UI
 Microsoft YaHei UI Light
 Microsoft Yi Baiti
 MingLiU-ExtB
 MingLiU_HKSCS-ExtB
 Modern
 Mongolian Baiti
 Myanmar Text
 NSimSun
 Nirmala UI
 Nirmala UI Semilight
 PMingLiU-ExtB
 Palatino Linotype
 Roman
 Script
 Segoe MDL2 Assets
 Segoe Print
 Segoe Script
 Segoe UI
 Segoe UI Black
 Segoe UI Emoji
 Segoe UI Historic
 Segoe UI Light
 Segoe UI Semibold
 Segoe UI Semilight
 Segoe UI Symbol
 SimSun
 SimSun-ExtB
 Sitka Banner
 Sitka Display
 Sitka Heading
 Sitka Small
 Sitka Subheading
 Sitka Text
 Small Fonts
 Sylfaen
 Symbol
 System
 Tahoma
 Terminal
 Times New Roman
 Trebuchet MS
 Verdana
 Webdings
 Wingdings
 Yu Gothic
 Yu Gothic Light
 Yu Gothic Medium
 Yu Gothic UI
 Yu Gothic UI Light
 Yu Gothic UI Semibold
 Yu Gothic UI Semilight
      

脚本样例

脚本代码的样例,这里提供了python、Javascript和Java的编写样本

Python selenium编写样本

该样本在selenium版本3.141.0测试通过

import requests,time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import sys

ads_id = "XXX"
open_url = "http://local.adspower.net:50325/api/v1/browser/start?user_id=" + ads_id
close_url = "http://local.adspower.net:50325/api/v1/browser/stop?user_id=" + ads_id

resp = requests.get(open_url).json()
if resp["code"] != 0:
    print(resp["msg"])
    print("please check ads_id")
    sys.exit()

chrome_driver = resp["data"]["webdriver"]
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", resp["data"]["ws"]["selenium"])
driver = webdriver.Chrome(chrome_driver, options=chrome_options)
print(driver.title)
driver.get("https://www.baidu.com")
time.sleep(5)
driver.quit()
requests.get(close_url)
                  

Javascript puppeteer编写样本


const axios = require('axios');
const puppeteer = require('puppeteer-core');

axios.get('http://local.adspower.net:50325/api/v1/browser/start?user_id=XXX').then(async (res) => {
  console.log(res.data);
  if(res.data.code === 0 && res.data.data.ws && res.data.data.ws.puppeteer) {
    try{
      const browser = await puppeteer.connect(
        {browserWSEndpoint: res.data.data.ws.puppeteer, defaultViewport:null});
        const page = await browser.newPage();
        await page.goto('https://www.adspower.io');
        await page.screenshot({ path: './adspower.png' });
        await browser.close();
    } catch(err){
        console.log(err.message);
    }
  }
}).catch((err) => {
	console.log(err)
})
          

Java selenium代码片段


public class AdsDemo {
  WebDriver driver;

  private WebDriver getDriver() {
    
    JSONObject result=adsPowerLocalAPI("http://local.adspower.net:50325/api/v1/browser/start?user_id=xxxx");
    
    System.setProperty("webdriver.chrome.driver", result.getByPath("data.webdriver")); //设置API返回的webdriver
    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOption("debuggerAddress",result.getByPath("data.ws.selenium")); //设置API返回的chrome调试接口
    driver = new ChromeDriver(options);
    driver.get("http://www.baidu.com"); 

    return driver;
  }
}               
          

Build by AdsPower.