bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

如何進行url的編解碼分析

這篇文章給大家介紹如何進行url的編解碼分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創新互聯是一家集網站建設,龍南企業網站建設,龍南品牌網站建設,網站定制,龍南網站建設報價,網絡營銷,網絡優化,龍南網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力??沙浞譂M足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

1、URL的編解碼

1.1、特殊字符

url中使用的是ASCII碼(8位)字符集中的字符。如東亞地區中文在url中就需要特意編碼,規則是在百分號后面接上兩個十六進制數字,和其在ASCII字符表中的對應位置相同。
特殊情況:
1、如常見情況不能再url中使用空格字符,當讓現在先進瀏覽器可以自動編碼如當訪問http://192.168.90.162/advanced search.html 瀏覽器會自動http://192.168.90.162/advanced%20search.html
2、有些字符使得url非法,因為是保留字符。如斜線字符將會用來分割路徑,如果使用斜線字符而不是將其作為路徑,則需要轉義如斜線(當然:windows下建立文件名不能包含"\/:?<>|"中的任何字符),但是linux很靈活如(touch :a;touch \<a,touch \a,支持轉義),url編碼中保留的字符:

保留字符URL編碼保留字符url編碼保留字符
;%3B3%A
/2%F@%40
&%26?%3F

3、不安全字符指那些雖然在URL中沒有特殊意義,而可能在URL的上下文中有特殊含義的字符。如雙引號在標簽中分開屬性和值,如果在url中包含有雙引號,則瀏覽器解析時可能錯誤。此時可以用%22來編碼雙引號,進而解決沖突。
盡管瀏覽器智能解析如何進行url的編解碼分析
不安全字符編碼舉例:
< %3C  ,  > %3E , # %23 , % %25, ~ %7E , \ %5C 等。

1.2、urllib.parse模塊url編解碼方法

quote方法:對URL進行編碼;
unquote: 對url進行解碼
quote_plus:同quote方法,進一步將空格表示成+符號;
unquote_plus:同unquote方法,將+符號變成空格

>>> r2=quote("/~test aggin &/")
>>> r2
'/%7Etest%20aggin%20%26/'    #注意空格和&符號都已經編碼了,而”/“并沒有轉換
>>> un_r2=unquote(r2)
>>> un_r2
'/~test aggin &/'
>>> quote("~/ test","~/")   #quote第二個參數的使用:當將"~"字符加入忽略字符列表后,再次輸出就沒有對”~“進行編碼了。
'~/%20test'

quote_plus使用時會將”/“字符替換成%2F,并將空格字符替換成+符號,這是同quote的主要區別,如下:

>>> quote_plus("/~test aggin &/")
'%2F%7Etest+aggin+%26%2F'
>>> unquote_plus('%2F%7Etest+aggin+%26%2F')
'/~test aggin &/'

1.3、中文的編解碼

http://192.168.90.162/中文.html, 現在主流瀏覽器chrome,IE,edge等已經能識別了。然而問題不能忽視,對于不安全的字符使用url編碼總是不安全的。

>>> quote("中文編碼")
'%E4%B8%AD%E6%96%87%E7%BC%96%E7%A0%81'
>>> unquote('%E4%B8%AD%E6%96%87%E7%BC%96%E7%A0%81')
'中文編碼'

1.4、查詢參數的編碼

http兩種數據提交方式:get和post。都需要提交查詢參數和其值。特別get方法中還會將這種值顯示在地址欄中如:
https://www.baidu.com/s?wd=url%E7%BC%96%E7%A0%81&rsv_spt=1&rsv_iqid=0xb6a3f6f50003c26a&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf8&rqlang=cn&tn=baiduhome_pg&rsv_enter=0&oq=url%25E7%25BC%2596%25E7%25A0%2581&rsv_t=a3a7nKjz1kdhBSmGXcoRFeCicwee05LR5H9nq5W5GZWVKwR×××WAjMl98d3Rfvhq%2FCJb&rsv_pq=8532218200044be3

>>> unquote("url%E7%BC%96%E7%A0%81")   ?wd=url%E7%BC%96%E7%A0%81會將值顯示在地址欄中
'url編碼'

對查詢參數進行編碼的方法:urlencode由urllib.parse模塊提供該方法
功能:將查詢的參數值對返回成URL編碼的新式。參數值對可以是一系列的字典數據。

>>> urlencode([('key1','value1'),('key2','value2')])
'key1=value1&key2=value2'
>>> help(urlencode)
Help on function urlencode in module urllib.parse:

說明1、查詢參數為一個(keyword,value)的列表,這里列表的長度為2..注意參數格式列表里面套元組
2、urlencode將參數值對列表編碼成了一個URL字符串,查詢參數順序和列表中一致

>>> urlencode([("key1","urlencode編碼")])
'key1=urlencode%E7%BC%96%E7%A0%81'

urlencode方法還可以接受一個可選參數,用來對輸入查詢參數中的數據進行控制。默認值False。即當查詢數據(keyword,value)列表中的value也為列表時,將其使用整個quote_pluse方法進行編碼

>>> urlencode([("keyword",("value1","value2","value3"))])
'keyword=%28%27value1%27%2C+%27value2%27%2C+%27value3%27%29'
>>> urlencode([("keyword",("value1","value2","value3"))],True) 但當參數為True時,會將value列表中的每個值都和keyword組成一個查詢參數值對。
'keyword=value1&keyword=value2&keyword=value3'

關于如何進行url的編解碼分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

標題名稱:如何進行url的編解碼分析
轉載來源:http://vcdvsql.cn/article34/jhjjpe.html

成都網站建設公司_創新互聯,為您提供Google靜態網站、網站設計、企業建站、品牌網站設計搜索引擎優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

小程序開發