python2 中urllib模組提供了一些函式操作url本身。
一、quote(string[, safe])
它返回乙個字串,其中所有的特殊字元都已被對url友好的字元所代替(就像用%7e代替了~)
舉例:假設介面測試中,要向乙個url傳送一串json格式的報文,伺服器要接收時會對json資料進行解析,如果報文中有%@*?等特殊字元,很有可能伺服器接收並解析後就不合法 出現空格等,我們可以使用這個函式將json資料編碼。
它對應的解碼是unquote(string)。(結果跟網頁版的urlencode是一樣的)。
二、quote_plus(string[,safe])。
功能和quote差不多,但用+代替空格。對應的解碼函式是unquote_plus(string)
三、urlencode(query[,doseq])
把對映(比如字典)或者包含兩個元素的元組的序列——(key,value)這種形式——轉換成url格式編碼的字串,這樣的字串可以在cgi查詢中使用。
>> data =
>> print(urlencode(data))
結果:
>>name=%e7%87%95%e5%ad%90&no=01
注意 它對應的解碼 是沒有decode函式的,對應的還是unquote(string)
>>unquote("%e7%87%95%e5%ad%90
")
結果 >>燕子
(python3中,以上介紹的函式在urllib.parse模組中)
urlparse系列函式處理URL
urlparse模組主要是把url拆分為6部分,並返回元組。並且可以把拆分後的部分再組成乙個url。主要有函式有urljoin urlsplit urlunsplit urlparse等。urlparse.urlparse urlstring scheme allow fragments 將urls...
Java中對URL解碼
url由來 一般來說,url只能使用英文本母 阿拉伯數字和某些標點符號,不能使用其他文字和符號。比如,世界上有英文本母的 但是沒有希臘字母的 讀作阿爾法 貝塔 伽瑪.com 這是 因為網路標準rfc 1738 做了硬性規定 只有字母和數字 0 9a za z 一些特殊符號 不包括雙引號 以及某些保留...
js對URL的處理問題
雖然escape encodeuri encodeuricomponent 三種方法都能對一些影響url完整性的特殊字元進行過濾。但後兩者是將字串轉換為utf 8的方式來傳輸,解決了頁面編碼不一至導致的亂碼問題。例如 傳送頁與接受頁的編碼格式 charset 不一致 假設傳送頁面是gb2312而接收...