Skip to content

网络 API

AirScript 提供一个全局的 HTTP 对象,开发者可通过此对象提供的方法请求外部服务,请求成功后会同步返回服务器的响应。

该 API 的使用方式与浏览器内的 fetch()函数基本一致,对于前端开发者来说应该可以很快上手。

提示

在使用 HTTP 对象提供的方法发送请求之前,确保您已添加网络API服务,在脚本编辑器的【工具栏】-【服务】菜单内添加即可。

快速使用

javascript
// 发起网络请求
const resp = HTTP.fetch('https://open.iciba.com/dsapi/', {
  timeout: 2000
})
const data = resp.json()
console.log(data.note, data.content)

方法列表

方法返回类型简介
fetch(url[, options])Response发起自定义类型的网络请求
get(url[, options])Response发起 GET 类型的网络请求
delete(url[, options])Response发起 DELETE 类型的网络请求
post(url,body[, options])Response发起 POST 类型的网络请求
put(url,body[, options])Response发起 PUT 类型的网络请求

fetch(url[, options])

发起一个网络请求,可以自定义设置 headers 和 body。

示例

javascript
const resp = HTTP.fetch('https://www.kdocs.cn', {
  method: 'GET',
  timeout: 2000,
  headers: {
    'User-Agent':
      'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'
  }
})
console.log(resp.text())

参数

名称
类型默认值
必填项
说明
urlstringtrue需要访问的网络地址,只允许访问不带端口号的域名
optionsundefinedfalse一个 JavaScript 对象,可指定发起请求的可选参数,如下所示。

RequestOption

名称
类型默认值
必填项
说明
methodstringGETfalse发起网络请求的方法,例如GETPOSTPUTDELETE
timeoutnumber10000false发起网络请求的超时时间,单位毫秒(ms),数据范围为 0~60000,超出范围的数据将被设为默认值 10 秒。
headersobjectundefinedfalse发起网络请求的头部。例如cookie
bodystringundefinedfalse发起网络请求的主体内容。

返回值

Response - 服务器返回的响应

get(url[, options])

发起 GET 类型的网络请求。

示例

javascript
const resp = HTTP.get('https://reqres.in/api/users/2')
console.log(resp.json())

参数

名称类型默认值必填项说明
urlstringtrue需要访问的网络地址,只允许访问不带端口号的域名
optionsundefinedfalse一个 JavaScript 对象,可指定特定请求的可选参数,如下所示。

MethodRequestOption

名称
类型默认值
必填项
说明
timeoutnumber10000false发起网络请求的超时时间,单位毫秒(ms),数据范围为 0~60000,超出范围的数据将被设为默认值 10 秒。
headersobjectundefinedfalse发起网络请求的头部。例如cookie

返回值

Response - 服务器返回的响应

delete(url[, options])

发起 DELETE 类型的网络请求。

示例

javascript
const resp = HTTP.delete('https://reqres.in/api/users/2')
console.log(resp.status)

参数

名称类型默认值必填项说明
urlstringtrue需要访问的网络地址,只允许访问不带端口号的域名
optionsundefinedfalse一个 JavaScript 对象,可指定特定请求的可选参数,如下所示。

返回值

Response - 服务器返回的响应

post(url,body[, options])

发起 POST 类型的网络请求。

示例

javascript
// 发送form
const formResp = HTTP.post(
  'https://www.example.cn',
  { foo: 'bar' },
  { headers: { 'content-type': 'multipart/form-data' } }
)

//发送json
const resp = HTTP.post('https://reqres.in/api/users', {
  name: 'morpheus',
  job: 'leader'
})

console.log(resp.json())

参数

名称类型默认值必填项说明
urlstringtrue需要访问的网络地址,只允许访问不带端口号的域名
bodystring| objecttrue请求体
optionsundefinedfalse一个 JavaScript 对象,可指定特定请求的可选参数,如下所示。

返回值

Response - 服务器返回的响应

put(url,body[, options])

发起 PUT 类型的网络请求。

示例

javascript
const resp = HTTP.put('https://reqres.in/api/users/200', {
  name: 'wps',
  job: 'developer'
})
console.log(resp.json())

参数

名称类型默认值必填项说明
urlstringtrue需要访问的网络地址,只允许访问不带端口号的域名
bodystring| objecttrue请求体
optionsundefinedfalse一个 JavaScript 对象,可指定特定请求的可选参数,如下所示。

返回值

Response - 服务器返回的响应

Response

HTTP 发起网络请求后返回的响应,response 是流数据,只有首次调用 text(),json()或 binary()能获取到数据

示例

javascript
let resp = HTTP.get('https://open.iciba.com/dsapi/')
console.log(resp.status) // 200
console.log(resp.statusText) // OK
console.log(resp.text()) // `{foo:"bar"}`
console.log(resp.json()) // {foo:"bar"}
console.log(resp.status) // [...]

方法列表

方法返回类型简介
statusnumber获取响应的 HTTP 状态码
statusTextstring获取响应的 HTTP 状态
headersobject获取响应的 header
text()string获取服务器返回的文本 Body
json()any将服务器返回的 json 类型的 Body 转化为结构体
binary()Buffer获取服务器返回的二进制结构的 Body

status

获取响应的 HTTP 状态码

示例

javascript
const resp = HTTP.get('https://open.iciba.com/dsapi/')
console.log(resp.status) // 200

返回值

number - 服务器返回响应的 HTTP 状态码

statusText

获取响应的 HTTP 状态

示例

javascript
const resp = HTTP.get('https://open.iciba.com/dsapi/')
console.log(resp.statusText) // OK

返回值

string - 服务器返回响应的 HTTP 状态

headers

获取响应的 header

示例

javascript
let resp = HTTP.get('https://open.iciba.com/dsapi/')
console.log(resp.headers) // {"content-length":"44","content-type":"text/html; charset=utf-8"}

返回值

object - 服务器返回响应的 header

text()

获取服务器返回的 Body

示例

javascript
let resp = HTTP.get('https://open.iciba.com/dsapi/')
console.log(resp.text()) // this is an example.

返回值

string - 服务器返回的响应的 Body,以文本接受并返回

json()

获取服务器返回的 Body

示例

javascript
let resp = HTTP.get('https://open.iciba.com/dsapi/')
console.log(resp.json()) // {msg:"this is an example."}

返回值

Object, Array, string, number, boolean, or null - 服务器返回的响应的 Body,以文本接受并经过 JSON.parse()后返回

binary()

获取服务器返回的 Body

示例

javascript
let resp = HTTP.get('https://open.iciba.com/dsapi/')
console.log(resp.binary().toString('base64'))

返回值

Buffer - 服务器返回的响应的 Body,以 Buffer 接受二进制数据并返回