8.7 版本发布—WinterCG 兼容性第一部分
了解更多

Http 提供实用程序方法,用于进行各种 HTTP 网络请求。

使用 Http

GET 请求,响应主体为字符串

使用 getString() 方法,可以轻松地发出返回字符串响应的 GET 请求

ts
Http.getString('https://httpbin.org/get').then(
  (result: string) => {
    // do something with the string response
  },
  (e) => {}
)

GET 请求,响应主体为 JSON

对于响应为 JSON 的 GET 请求,请使用 getJSON() 方法

ts
Http.getJSON('https://httpbin.org/get').then(
  (result) => {
    console.log(result)
  },
  (e) => {}
)

GET 请求,响应主体为文件

对于响应为 文件 的 GET 请求,请使用 getFile() 方法

ts
Http.getFile(
  'https://art.nativescript.org/logo/export/NativeScript_Logo_Wide_White_Blue_Rounded_Blue.png'
).then(
  (resultFile: File) => {
    // The returned result will be File object
  },
  (e) => {}
)

GET 请求,响应主体为图像

对于响应为图像(ImageSource) 的 GET 请求,请使用 getImage() 方法

ts
Http.getImage('https://httpbin.org/image/jpeg').then(
  (res: ImageSource) => {},
  (e) => {}
)

注意

上述方法除了可以使用 URL 字符串外,还可以使用 HttpRequestOptions 对象。此外,除了上述方法外,您还可以使用 request 方法,并对 HttpResponse 对象的 content 调用相应的(例如 .toJSON().toString())方法,以获取所需的响应类型。

发出 POST 请求

要发出 POST 请求,请使用 request() 方法

ts
Http.request({
  url: 'https://httpbin.org/get',
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  content: JSON.stringify({
    username: 'tony',
    password: 'pass',
  }),
}).then(
  (response) => {
    const result = response.content?.toJSON()
  },
  (e) => {
    // error
  }
)

API

getString()

ts
Http.getString(url: string): Promise<string>

将指定 URL 的内容下载为字符串。


getJSON()

ts
Http.getJSON<T>(url: string): Promise<T>

将指定 URL 的内容下载为字符串,并返回其 JSON.parse 表示形式。


getImage()

ts
Http.getImage(url: string): Promise<ImageSource>

从指定 URL 下载内容,并尝试将其解码为图像。


getFile()

ts
Http.getFile(url: string, destinationFilePath?: string): Promise<File>

从指定 URL 下载内容,并尝试将其保存为文件。destinationFilePath 是您要保存返回文件的可选位置。


request()

ts
Http.request(options: HttpRequestOptions): Promise<HttpResponse>

使用提供的选项发出通用 HTTP 请求,并返回 HttpResponse 对象。


HttpRequestOptions 接口

HttpRequestOptions 接口具有以下成员

url

ts
const requestOptions = {
  url: 'https://httpbin.org',
}

表示请求 URL 的字符串值。


method

ts
const requestOptions = {
  url: 'https://httpbin.org',
  method: 'POST',
}

获取或设置请求方法。


headers

ts
const requestOptions = {
  headers: { 'header-name': 'header-value' },
}

可选:获取或设置 JSON 格式的请求标头。


content

ts
const requestOptions = {
  content: formData,
}

//or

const requestOptions = {
  content: 'some string',
}

可选:获取或设置请求主体。


timeout

ts
const requestOptions = {
  timeout: 22333,
}

可选:获取或设置请求超时(以毫秒为单位)。


dontFollowRedirects

ts
const requestOptions = {
  dontFollowRedirects: true,
}

可选:布尔值,用于设置是否遵循服务器重定向的请求。


HttpResponse 接口

statusCode

获取响应状态码。

类型number


content

获取响应内容。类型HttpContent


headers

获取响应标头


HttpContent 接口

raw

ts
response.content?.raw

获取响应主体作为原始数据。


toString()

ts
response.content?.toString()

获取响应主体作为字符串。


toJSON()

ts
response.content?.toJSON(encoding)

获取响应主体作为 JSON 对象。encoding 是可选的,类型为 'UTF8' | 'GBK'


toImage()

ts
response.content
  ?.toImage()
  .then((image: ImageSource) => {})
  .catch((error) => {})

获取响应主体作为 ImageSource


toFile()

ts
const file: File = response.content?.toFile(destinationFilePath)

获取响应主体作为文件。destinationFilePath 是您要保存返回文件的可选位置。

上一页
FPS 指标