跳到主要内容

HttpClient

描述:

  代表一个HTTP客户端。

post

类型: 函数。

描述:

  发起非阻塞的 POST 请求,并发送 JSON 请求体。

签名:

post: function(self: HttpClient, url: string, json: string, timeout: number, callback: function(data: string | nil)): integer

参数:

参数名类型描述
urlstring要发送请求的URL。
jsonstring要在请求中发送的JSON文本。
timeoutnumber[可选] 请求超时时间(以秒为单位,默认为5秒)。
callbackfunction请求完成时调用。参数为响应文本;如果请求失败或被取消则为 nil。

返回值:

返回类型描述
integer请求句柄;如果请求无法发起则返回 0。

post

类型: 函数。

描述:

  发起带自定义请求头和 JSON 请求体的非阻塞 POST 请求。

签名:

post: function(self: HttpClient, url: string, headers: {string}, json: string, timeout: number, callback: function(data: string | nil)): integer

参数:

参数名类型描述
urlstring要发送请求的URL。
headers{string}要在请求中发送的头部。每个头部应该以 "name: value" 的格式。
jsonstring要在请求中发送的JSON文本。
timeoutnumber[可选] 请求超时时间(以秒为单位,默认为5秒)。
callbackfunction请求完成时调用。参数为响应文本;如果请求失败或被取消则为 nil。

返回值:

返回类型描述
integer请求句柄;如果请求无法发起则返回 0。

post

类型: 函数。

描述:

  发起带自定义请求头和 JSON 请求体的非阻塞 POST 请求,并可在完成前按块处理响应内容。

签名:

post: function(self: HttpClient, url: string, headers: {string}, json: string, timeout: number, partCallback: function(data: string): boolean, callback: function(data: string | nil)): integer

参数:

参数名类型描述
urlstring要发送请求的URL。
headers{string}要在请求中发送的头部。每个头部应该以 "name: value" 的格式。
jsonstring要在请求中发送的JSON文本。
timeoutnumber[可选] 请求超时时间(以秒为单位,默认为5秒)。
partCallbackfunction[可选] 当收到部分响应内容时调用。返回 true 可提前停止并取消请求。
callbackfunction请求完成时调用。参数为完整响应文本;如果请求失败或被取消则为 nil。

返回值:

返回类型描述
integer请求句柄;如果请求无法发起则返回 0。

postAsync

类型: 函数。

描述:

  发送带 JSON 请求体的 POST 请求,并等待响应文本返回。

签名:

postAsync: function(self: HttpClient, url: string, json: string, timeout?: number): string | nil

参数:

参数名类型描述
urlstring要发送请求的URL。
jsonstring要在请求中发送的JSON文本。
timeoutnumber[可选] 请求超时时间(以秒为单位,默认为5秒)。

返回值:

返回类型描述
string响应体的文本,如果请求失败则返回nil。

postAsync

类型: 函数。

描述:

  发送带自定义请求头和 JSON 请求体的 POST 请求,并可在完成前按块处理响应内容。

签名:

postAsync: function(self: HttpClient, url: string, headers: {string}, json: string, timeout?: number, partCallback?: function(data: string): boolean): string | nil

参数:

参数名类型描述
urlstring要发送请求的URL。
headers{string}要在请求中发送的头部。每个头部应该以 "name: value" 的格式。
jsonstring要在请求中发送的JSON文本。
timeoutnumber[可选] 请求超时时间(以秒为单位,默认为5秒)。
partCallbackfunction[可选] 当收到部分响应内容时调用。返回 true 可提前停止并取消请求。

返回值:

返回类型描述
string响应体的文本,如果请求失败则返回nil。

get

类型: 函数。

描述:

  发起非阻塞的 GET 请求。

签名:

get: function(self: HttpClient, url: string, timeout: number, callback: function(data: string | nil)): integer

参数:

参数名类型描述
urlstring要发送请求的URL。
timeoutnumber[可选] 请求超时时间(以秒为单位,默认为5秒)。
callbackfunction请求完成时调用。参数为响应文本;如果请求失败或被取消则为 nil。

返回值:

返回类型描述
integer请求句柄;如果请求无法发起则返回 0。

getAsync

类型: 函数。

描述:

  发送 GET 请求,并等待响应文本返回。

签名:

getAsync: function(self: HttpClient, url: string, timeout?: number): string | nil

参数:

参数名类型描述
urlstring要发送请求的URL。
timeoutnumber[可选] 请求超时时间(以秒为单位,默认为5秒)。

返回值:

返回类型描述
string响应体的文本,如果请求失败则返回nil。

download

类型: 函数。

描述:

  发起非阻塞的文件下载。

签名:

download: function(self: HttpClient, url: string, fullPath: string, timeout?: number, progress?: function(interrupted: boolean, current: integer, total: integer): boolean): integer

参数:

参数名类型描述
urlstring需要下载的文件的URL。
fullPathstring下载文件应保存的完整路径。
timeoutnumber[可选] 下载超时时间(以秒为单位,默认为30秒)。
progressfunction[可选] 用于报告下载进度,接收 interrupted、current 和 total。返回 true 可取消下载。

返回值:

返回类型描述
integer请求句柄;如果请求无法发起则返回 0。

downloadAsync

类型: 函数。

描述:

  下载文件并等待完成。该方法必须在协程或线程中调用。

签名:

downloadAsync: function(self: HttpClient, url: string, fullPath: string, timeout?: number, progress?: function(current: integer, total: integer): boolean): boolean

参数:

参数名类型描述
urlstring需要下载的文件的URL。
fullPathstring下载文件应保存的完整路径。
timeoutnumber[可选] 下载超时时间(以秒为单位,默认为30秒)。
progressfunction[可选] 用于报告下载进度,接收 current 和 total 字节数。返回 true 可取消下载。

返回值:

返回类型描述
boolean如果下载成功完成则返回 true,否则返回 false

cancel

类型: 函数。

描述:

  请求取消一个正在进行中的请求。

签名:

cancel: function(self: HttpClient, requestId: integer): boolean

参数:

参数名类型描述
requestIdinteger由 post、get 或 download 返回的请求句柄。

返回值:

返回类型描述
boolean如果找到了请求并已发起取消,则返回 true

isRequestActive

类型: 函数。

描述:

  检查请求是否仍在进行中。

签名:

isRequestActive: function(self: HttpClient, requestId: integer): boolean

参数:

参数名类型描述
requestIdinteger由 post、get 或 download 返回的请求句柄。

返回值:

返回类型描述
boolean如果请求仍在运行,则返回 true