溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3 url解碼與參數(shù)解析

發(fā)布時間:2020-08-06 08:18:59 來源:網(wǎng)絡(luò) 閱讀:6791 作者:楊云1028 欄目:編程語言

在獲取zk節(jié)點時,有些子節(jié)點名字直接就是編碼后的url,就像下面這行一樣:

url='dubbo%3A%2F%2F10.4.5.3%3A20880%2Fcom.welab.authority.service.AuthorityService%3Fanyhost%3Dtrue%26application%3Dwelab-authority%26dubbo%3D2.5.7'

先需要把這個url里進行解碼, 轉(zhuǎn)成如下這種:

dubbo://10.4.5.3:20880/com.welab.authority.service.AuthorityService?anyhost=true&application=welab-authority&dubbo=2.5.7

然后有用的參數(shù): url中的ip地址, 參數(shù)中application對應的值

Python2解碼與提取參數(shù)

>>> import urlparse
>>> urldata = urlparse.unquote(url)
>>> print urldata
dubbo://10.4.5.3:20880/com.welab.authority.service.AuthorityService?anyhost=true&application=welab-authority&dubbo=2.5.7

#轉(zhuǎn)成一個格式化對象
>>> result = urlparse.urlparse(urldata)
>>> print result
ParseResult(scheme='dubbo', netloc='10.4.5.3:20880', path='/com.welab.authority.service.AuthorityService', params='', query='anyhost=true&application=welab-authority&dubbo=2.5.7', fragment='')

#提取url中的參數(shù),即url中?后的內(nèi)容
>>> args = urlparse.parse_qs(result.query)          
>>> print args
{'application': ['welab-authority'], 'anyhost': ['true'], 'dubbo': ['2.5.7']}

#獲取我想要的信息  
>>> ip= result.netloc
>>> application = args.get('application',[])
>>> print ip
10.4.5.3:20880  
>>> print application
['welab-authority']

Python3 解碼與提取參數(shù)

上面的測試中詳細打印了輸出信息, 這次就直接寫在py腳本里了。

from urllib import parse

#url解碼
urldata = parse.unquote(urldata)

#url結(jié)果  
result = parse.urlparse(urldata)

#url里的查詢參數(shù)  
query_dict = parse.parse_qs(result.query)

#獲取我需要的信息
ip = result.netloc  
application = query_dict.get('application',[])
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI