Skip to content

http接口服务

概要

YinTao 启动后默认占用本机8777端口,对外提供http服务。

执行

路径: /run

请求方式: POST

说明: 运行脚本时调用,运行报告随请求返回, 当填写remoteReport时,会立即返回空,执行结果会通过异步返回

参数:

名称类型默认值说明
scriptstring执行的脚本
storageany自定义参数仓库
headlessbooleanfasle无头模式,默认为显示界面运行,true开启无头运行
browserstring'chrome'执行使用的浏览器支持 chromefirefoxwebkit
hostsMaphost信息 {"域名":"解析IP地址"}
cookiesCookie[]可接收cookie数组,用于初始化配置
remoteReportobject远程执行需要上报的地址
audioAudio当需要录制视频时传递,默认不开启视频录制

remoteReport 类型:object:

名称类型默认值说明
resultstring远程上传结果地址
logstring远程上传日志地址
imagestring远程上传图片地址
tracestring远程上传追踪地址,支持本地路径以及http地址。问题追踪

Audio 类型:object:

名称类型默认值说明
urlstring视频存储地址,远程执行时只支持http远程上报地址
sizeObject调整录制时的分辨率
-widthObject录制的宽度
-heighttObject录制的高度

当开始录制时,不要关闭page,否则将丢失关闭页面的录制内容。

请求示例:

js
  request
    .post(
      "http://localhost:8777/run",
      {
        "storage": {
          "id":123
        },
        "script": `await page.to("https://www.baidu.com")`,
        "hosts": {"nn2.com":"11.91.160.125"}
      },
      {
        timeout: 99999999
      }
    )
  request
    .post(
      "http://localhost:8777/run",
      {
        "storage": {
          "id":123
        },
        "script": `await page.to("https://www.baidu.com")`,
        "hosts": {"nn2.com":"11.91.160.125"}
      },
      {
        timeout: 99999999
      }
    )

响应结果

名称类型默认值说明
successbooleanfalse执行结果
durationnumber执行持续时间 单位/ms
start_timebooleanfalse开始执行的时间 单位/ms
msgstring结果提示消息
divertorDivertor断言信息
logstring日志信息

Divertor

名称类型默认值说明
msgstring错误描述
codestring相关代码
successbooleanfalse是否成功

响应示例:

js
 {
	"success": true,
	"duration": 3488,
	"start_time": 1615550400079,
	"msg": "执行成功",
	"divertor": [],
  "log": "",
}
 {
	"success": true,
	"duration": 3488,
	"start_time": 1615550400079,
	"msg": "执行成功",
	"divertor": [],
  "log": "",
}

录制脚本

路径: /live

请求方式: POST

说明: 录制脚本时调用,脚本随请求响应返回

参数:

名称类型默认值说明
urlstring录制时默认打开的地址
compatibilitybool兼容模式,默认采用YinTao浏览器,开启后将使用Chromium
storageany自定义参数仓库
cookiesCookie[]可接收cookie数组,用于初始化配置
devicestring模拟移动设备录制, 支持的字段参考setDevice
hostsMaphost信息 {"域名":"解析IP地址"}

请求示例:

js
  request
    .post(
      "http://localhost:8777/live",
      {
        "url": "https://baidu.com",
        "storage": {
          "id":123
        },
        "hosts": {"nn2.com":"11.91.160.125"}  
      },
      {
        timeout: 99999999
      }
    )
  request
    .post(
      "http://localhost:8777/live",
      {
        "url": "https://baidu.com",
        "storage": {
          "id":123
        },
        "hosts": {"nn2.com":"11.91.160.125"}  
      },
      {
        timeout: 99999999
      }
    )

响应结果

名称类型默认值说明
scriptstring录制生成的脚本
codenumber错误代码
msgstring描述信息

响应示例:

  {
    "script": "await page.to('https://www.baidu.com')\nawait getDom('#kw'); await set(\"hello word\");\nawait getDom('#su'); await click()\n",
    "code"  : 2000
    "msg"   : "success!"
  }
  {
    "script": "await page.to('https://www.baidu.com')\nawait getDom('#kw'); await set(\"hello word\");\nawait getDom('#su'); await click()\n",
    "code"  : 2000
    "msg"   : "success!"
  }

ping

路径: /ping

请求方式: GET

说明: 可用于检测driver是否运行

请求示例:

js
  request.get("http://localhost:8777/ping")
  request.get("http://localhost:8777/ping")

响应示例:

js
{
  "ok":1
}
{
  "ok":1
}

退出

路径: /exit

请求方式: GET

说明: 调用后关闭YinTao

请求示例:

js
  request.get("http://localhost:8777/exit")
  request.get("http://localhost:8777/exit")

响应示例:

js
{
  "ok":1
}
{
  "ok":1
}