HTTP 客户端支持的 JavaScript API
console.log
HTTP 客户端支持 console.log() 方法,以将文本值(或以逗号分隔的多个值)打印到响应处理程序或预请求处理程序脚本的输出中。 您还可以使用 client.log 实现相同目的。 示例:
您也可以传递一个 JavaScript 对象(例如, console.log(response.body) ),它将在输出中以 JSON 格式显示,并带有适当的语法高亮。
DOM 方法和属性
HTTP 客户端支持部分 DOM 树方法和属性,这些方法和属性可让您解析并操作作为响应正文一部分接收的 XML 和 HTML 文档(或使用 DOMParser 创建的文档)。 支持的方法包括:
- getElementsByTagName()
返回具有给定标签名称的元素集合。 例如:
GET https://examples.http-client.intellij.net/xml > {% const slide = response.body.getElementsByTagName("slide")[0] console.log(slide) %}- getElementsByName()
返回具有给定
name属性的节点集合。 例如:- getElementById()
根据其
id检索一个 Element 对象。- getElementsByClassName()
返回包含所有具有给定类名的子元素的类数组对象。
- DOMParser
使用
parseFromString()方法将字符串中的 XML 或 HTML 源代码解析为 DOM 文档。 例如:GET example.org > {% const xmlStr = '<q id="a"><span class="test" id="b">hey!</span><span id="bar">world</span><foo class="test" id="x-foo"/><bar name="x-foo"/></q>'; const doc = new DOMParser().parseFromString(xmlStr, "application/xml"); console.log(doc.getElementById("a")) console.log(doc.getElementById("b")) console.log(doc.getElementsByClassName("test")) console.log(doc.getElementsByTagName("span")) console.log(doc.getElementsByName("x-foo")) %}- createElement(tagName)
创建由
tagName指定的 HTML 元素。GET example.org > {% const xmlStr = '<q id="a"><span class="test" id="b">hey!</span><span id="bar">world</span><foo class="test" id="x-foo"/><bar name="x-foo"/></q>'; const doc = new DOMParser().parseFromString(xmlStr, "application/xml"); const bodyElement = doc.createElement("body"); %}
开始键入方法名称即可获得受支持方法的代码补全。 将鼠标悬停其上可查看快速文档。 要查看所有受支持的 DOM 方法和属性,请展开下方各部分:
支持的方法
|
|
|---|---|
URLSearchParams
URLSearchParams 是一个 JavaScript 对象,可简化对 URL 查询字符串部分的操作。 URLSearchParams 接受以下格式的参数:
查询字符串:
URLSearchParams("key=value&key2=value2");表示 URL 参数的键值对:
URLSearchParams({ key1: "value1", key2: "value2" })键值对数组:
URLSearchParams([["key1", "value1"], ["key2", "value2"]])
HTTP 客户端支持 所有已知的 URLSearchParams 方法。 示例:
Base64 编码:btoa 和 atob
HTTP 客户端支持 btoa() 和 atob() 方法。
使用
Window.btoa(stringToEncode)或btoa(stringToEncode)从stringToEncode字符串创建 Base64 编码的 ASCII 字符串。使用
Window.atob(encodedData)或atob(encodedData)解码使用 Base64 编码的数据字符串。
例如:
执行 shell 命令
为便于通过运行 shell 命令与操作系统交互,HTTP 客户端支持以下方法:
- exec(command[, options][, callback])
启动一个 shell,然后在该 shell 中执行命令,并缓冲所有生成的输出。
- execFile(file[, args][, options][, callback])
与
exec()类似,但默认不会启动 shell。- execSync(command[, options])
与
exec()相同,但在子进程完全关闭之前,该方法不会返回。- execFileSync(file[, args][, options])
与
execFile()相同,但在子进程完全关闭之前,该方法不会返回。- spawn(command[, args][, options])
启动一个 shell,然后在该 shell 中执行命令,并缓冲所有生成的输出。
- spawnSync(command[, args][, options])
与
spawn()相同,但在子进程完全关闭之前,该函数不会返回。
支持的选项包括:
- cwd
指定执行命令的目录。
- env
指定应在该进程中可用的一组环境变量。
- timeout
进程允许运行的最长时间(毫秒)。
- maxBuffer
设置输出大小的最大限制(以字符为单位)。
- shell
指定用于执行命令的 shell。
- signal
指定在需要终止时发送给该进程的信号。
- callback
不是选项,而是一个单独的参数,可传递给异步方法。 回调是在进程终止时被调用的函数。
例如: