菜单
文档breadcrumb arrow Grafana k6breadcrumb arrow 示例breadcrumb arrow 带查询参数的 URL
开源

带查询参数的 URL

如何使用从 jslib.k6.io 导入的 URLURLSearchParams 来构造带/不带查询参数的 URL。

URL

JavaScript
import { URL } from 'https://jslib.k6.io/url/1.0.0/index.js';
import http from 'k6/http';

export default function () {
  const url = new URL('https://k6.io');

  url.searchParams.append('utm_medium', 'organic');
  url.searchParams.append('utm_source', 'test');
  url.searchParams.append('multiple', ['foo', 'bar']);

  const res = http.get(url.toString());
  // https://k6.io?utm_medium=organic&utm_source=test&multiple=foo%2Cbar
}
名称类型描述
URLSearchParams(init)构造函数init 可选:[USVString, 对序列或记录] 之一
toString()方法返回包含整个 URL 的 USVString
hash属性包含一个 '#' 后跟 URL 的片段标识符的 USVString。
host属性一个 USVString,包含主机,即 hostname,然后如果 URL 的端口不为空,则包含一个 ':',后跟 URL 的 port
hostname属性包含 URL 域名的 USVString。
href属性返回包含整个 URL 的 USVString。
origin属性返回包含 URL 起源的 USVString,即其方案、域名和端口。
password属性包含在域名之前指定的密码的 USVString。
pathname属性是一个 USVString,包含一个初始的 '/',后跟 URL 的路径,不包括查询字符串或片段。
port属性包含 URL 端口号的 USVString。
protocol属性包含 URL 协议方案(包括末尾的 ':')的 USVString。
search属性一个 USVString,指示 URL 的参数字符串;如果提供了任何参数,此字符串包含所有参数,以开头的 ? 字符开始。
searchParams属性一个 URLSearchParams 对象,可用于访问在 search 中找到的各个查询参数。
username属性包含在域名之前指定的用户名的 USVString。

URLSearchParams

JavaScript
import { URLSearchParams } from 'https://jslib.k6.io/url/1.0.0/index.js';
import http from 'k6/http';

export default function () {
  const searchParams = new URLSearchParams([
    ['utm_medium', 'organic'],
    ['utm_source', 'test'],
    ['multiple', 'foo'],
    ['multiple', 'bar'],
  ]);

  const res = http.get(`${'https://k6.io'}?${searchParams.toString()}`);
  // https://k6.io?utm_medium=organic&utm_source=test&multiple=foo&multiple=bar
}
名称类型描述
URLSearchParams(init)构造函数init 可选:[USVString, 对序列或记录] 之一
toString()方法返回一个查询字符串(不包含问号)。
append()方法将指定的键/值对作为新的搜索参数附加。
delete()方法从所有搜索参数列表中删除给定的搜索参数及其关联的值。
entries()方法返回一个迭代器,允许遍历此对象中包含的所有键/值对。
forEach()方法允许通过回调函数遍历此对象中包含的所有值。 callback(value, key)
get()方法返回与给定搜索参数关联的第一个值。
getAll()方法返回与给定搜索参数关联的所有值。
has()方法返回一个布尔值,指示是否存在具有指定名称的参数。
keys()方法返回一个迭代器,允许遍历此对象中包含的所有键/值对的键。
values()方法返回一个迭代器,允许遍历此对象中包含的所有键/值对的值。
set()方法将与给定搜索参数关联的值设置为给定值。如果存在多个匹配值,此方法将删除其余的值。如果搜索参数不存在,此方法将创建它。
sort()方法按键对所有键/值对(如果有)进行排序。