查询字符串
查询字符串(URL参数)是指在URL的末尾加上用于向服务器发送信息的字符串(变量)。将“?”放在URL的末尾,然后再加上“参数=值”,想加上多个参数的话,使用“&”。以这个形式,可以将想要发送给服务器的数据添加到URL中。
例如,假设基本URL为“https://○△×□.cn /”,则在基本URL中添加查询字符串(URL参数)为“https://○△×□.cn /“?●=▲×■&○=△×□”。
以上URL中“?●=▲×■&○=△×□”的部分是查询字符串(URL参数)。
购物网站和博客网站等吸引用户的方法有各种各样。其中,“查询字符串(URL参数)”作为了解用户从哪里来的有效方法被广为流传。因为设定URL参数,可以更明确地分析用户访问来源,对Web网站的推广非常有用。也就是在前端中用的比较多。
代码
建立函数
def qs_parse(qs):
## Function code
建立空字典
映射查询字符串的“参数 = 值”结构
parameters = {}
隔离
隔离每个参数值对使用字符串split方法,将用作分隔符的字符串作为输入参数,并返回由分隔符分割的子字符串列表。分隔符不包含在结果中。
需要使用包含查询参数的字符串变量。在这个示例中,该字符串是qs_parse函数的输入参数,我们称之为qs。
ampersandSplit = qs.split("&")
迭代处理
列表元素进行逐个迭代处理
for element in ampersandSplit:
#iteration code
使用“=”字符作为分隔符进一步分割字符串。
equalSplit = element.split("=")
输出结果将始终是一个具有两个位置的列表。
第一个位置是参数的名称(它是分隔符字符左侧的子字符串),
第二个位置是其值(它是分隔符字符右侧的子字符串)。
需将结果列表的第一个元素映射到字典的键(key),将第二个元素映射到字典的值(value)。
parameters[equalSplit[0]] = equalSplit[1]
在代码的最后,我们将返回字典,它存储在parameters变量中。
def qs_parse(qs):
parameters = {}
ampersandSplit = qs.split("&")
for element in ampersandSplit:
equalSplit = element.split("=")
parameters[equalSplit[0]] = equalSplit[1]
return parameters
测试代码
若要测试代码,只需将其上传到ESP32上即可。
将调用文件qs_parse,因此需要将其作为模块导入,以便能够使用已开发的函数。
import qs_parse
stringToParse = "param1=val1¶m2=val2¶m3=val3"
parameters = qs_parse.qs_parse(stringToParse)
print(parameters)
借用此结果图
可以看出,输出的字典由与URL参数匹配的Key(键)和Value(值)组成。