# 什么是查询字符串(QueryString) # 查询字符串 查询字符串是网址的一部分,用于传达额外的信息给服务器。 它通常出现在网址URL的末尾,跟在一个 问号(**?**) 后面,由一系列的键值对组成,每个键值对之间用 **&**符号分隔。 例如在网址 “`https://example.com/page?name=John&age=30`” 中,查询字符串为 `name=John&age=30` ,它包含了两个键值对:`name=John` 和 `age=30`。 下图是在京东搜索手机时网址中的查询字符串信息。 ![](https://files.getquicker.net/_sitefiles/kc/kb/2024/01/09/113403_3_mceclip0.png) 查询字符串通常需要进行编码,称为URL编码。这是因为URL只能使用ASCII字符集,并且某些符号(如空格、换行、上述分隔符 & 和 ? 、特殊符号、非英文字母)在URL中有特殊含义,不能直接使用。 # 在Quicker中使用查询字符串 **1) 将查询字符串转换为词典。** 因为动作只能接收一个参数,如果需要为动作传递多个信息时,可以使用查询字符串的格式为动作传递参数。 在动作中,可以使用词典操作,将这些参数转换为词典变量,从而方便的取用。转换为词典时,会自动进行URL解码。 ![](https://files.getquicker.net/_sitefiles/kc/kb/2024/01/09/114540_3_mceclip1.png) 其结果如下: ![](https://files.getquicker.net/_sitefiles/kc/kb/2024/01/09/114618_3_mceclip2.png) **2)将词典转换为查询字符串** 上述操作的逆操作。当用于给其它动作传递参数,或拼接网址等情况时,可以使用此操作生成查询字符串。 ![](https://files.getquicker.net/_sitefiles/kc/kb/2024/01/09/115309_3_mceclip3.png) **3)将数据直接传递给动作变量。** 在Quicker 1.41.0 版本中增加了将数据直接传递给动作变量的功能。此时可以通过QueryString查询字符串格式,从外部为动作的多个变量指定值。 其格式为:`quicker:runaction:动作id或名称?write_to_vars=true&text=Hello&变量名=URL编码的值&...` 其中,`write_to_vars=true` 用于开启自动写入变量功能。 **4) 从网址中提取查询字符串。** 可以在表达式中使用 Uri 类型获取网址中的各部分信息。其Query属性,即包含问号的查询字符串部分,使用TrimStart去除问号即可得到完整的查询字符串。 ![](https://files.getquicker.net/_sitefiles/kc/kb/2024/01/09/115634_3_mceclip0.png)