esp32 micropython-url 查詢字符串解析器

查詢字符串

查詢字符串(URL參數)是指在URL的末尾加上用於向服務器發送信息的字符串(變量)。將“”放在URL的末尾,然後再加上“參數=值”,想加上多個參數的話,使用“&”。以這個形式,可以將想要發送給服務器的數據添加到URL中。

例如,假設基本URL爲“https://○△×□.cn /”,則在基本URL中添加查詢字符串(URL參數)爲“https://○△×□.cn /“?●=▲×■&○=△×□”。

以上URL中“?●=▲×■&○=△×□”的部分是查詢字符串(URL參數)。

購物網站和博客網站等吸引用戶的方法有各種各樣。其中,“查詢字符串(URL參數)”作爲了解用戶從哪裏來的有效方法被廣爲流傳。因爲設定URL參數,可以更明確地分析用戶訪問來源,對Web網站的推廣非常有用。也就是在前端中用的比較多。

  • 安裝uPyCraft IDE

代碼

建立函數

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(值)組成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章