Python3 url解码与参数解析
admin
2023-07-19 00:21:49
0

在获取zk节点时,有些子节点名字直接就是编码后的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里进行解码, 转成如下这种:

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

然后有用的参数: url中的ip地址, 参数中application对应的值

Python2解码与提取参数

>>> 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

#转成一个格式化对象
>>> 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中的参数,即url中?后的内容
>>> 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 解码与提取参数

上面的测试中详细打印了输出信息, 这次就直接写在py脚本里了。

from urllib import parse

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

#url结果  
result = parse.urlparse(urldata)

#url里的查询参数  
query_dict = parse.parse_qs(result.query)

#获取我需要的信息
ip = result.netloc  
application = query_dict.get('application',[])

相关内容

热门资讯

让儿童手表回归定位、通话等刚需... 一块小小的儿童手表,原本承载着家长对孩子安全的牵挂,为何却成了防不胜防的隐患入口? 近年来,儿童智能...
意通电力取得输配电电缆线芯分离... 国家知识产权局信息显示,安徽意通电力设备有限公司取得一项名为“一种输配电电缆线芯分离装置”的专利,授...
具身智能、低空技术、AI 融合... 极目新闻记者 狄鑫 张静娴 邹浩 摄影记者 宋枕涛 实习生 钟世炫 宋逸雪 6月14日,极目新闻高招...
苹果没告诉你的事:你关心的调休... 🙏🏻 Good Morning! 随着 Tim 又一次的「早上好」,WWDC 2026 拉开了帷幕...
计算机专业, 现在还能闭眼选么... 今天我们来聊聊当下最纠结的志愿填报板块——计算机大类。 在过去很长一段时间里,计算机几乎是“闭眼选...
原创 实... #机器人伴侣仅限成人购买 #登上全网热搜,随着人工智能、仿生技术不断成熟,各类具备情感交互、陪伴聊天...
日系巨头要为中国品牌代工了 在欧洲,一家日系车巨头正在为中国品牌腾出核心产线。近日,日产汽车宣布,与奇瑞国际英国公司正式签署非约...
以色列袭击黎巴嫩,特朗普急了 当地时间6月14日,美国总统特朗普在个人社交媒体发文,回应以色列袭击黎巴嫩。特朗普表示,贝鲁特袭击本...
被指“云林最近有点乱”,柯文哲... 海峡导报综合报道 台湾民众党创党主席柯文哲偕党主席黄国昌14日下午到云林县斗六市与党员志工座谈,台媒...
赖瑞隆为何攻击柯志恩家人?蓝营... 海峡导报综合报道 民进党高雄市长参选人赖瑞隆质疑国民党高雄市长参选人柯志恩家人资产在美国,柯14日痛...