Python3 url解码与参数解析

有些子节点名字直接就是编码后的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',[])
 

Python3 url解码与参数解析的更多相关文章

  1. Js把URL中的参数解析为一个对象

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. 将url的查询参数解析成字典对象

    1, 这个题目不约而同的出现在了多家公司的面试题中,当然也是因为太过于典型,解决方案无非就是拆字符或者用正则匹配来解决,我个人强烈建议用正则匹配,因为url允许用户随意输入,如果用拆字符的方式,有任何 ...

  3. gin的url查询参数解析

    gin作为go语言最知名的网络库,在这里我简要介绍一下url的查询参数解析.主要是这里面存在一些需要注意的地方.这里,直接给出代码,和运行结果,在必要的地方进行分析. 代码1: type Struct ...

  4. URL链接后面的参数解析,与decode编码解码;页面刷新回到顶部jquery

    function request() { var urlStr = location.search; ) { theRequest = []; return; } urlStr = urlStr.su ...

  5. Python3编码解码url

    python2和python3对于url的解码和编码 某天做爬虫时遇到一个post请求的参数是编码过的字符串如下,看不懂,初步判断可能是url编码 str = "%7B%22Shopping ...

  6. url查询参数解析

    url查询参数解析 1.获取url的各部分值 举例http://i.cnblogs.com/EditPosts.aspx?opt=1 1.window.location.href(设置或获取整个 UR ...

  7. java 获取url及url参数解析

    java  获取url及url参数解析 一.url编码:URLEncoder.encode(userName); 二.url解码: URLDecoder.decode(userName);

  8. javascript js获取url及url参数解析

    js获取url及url参数解析 一.获取url: var url=window.location.herf; 二.url参数解析: function GetRequest() { var url = ...

  9. Mysql 连接路径 url 参数解析

    1.mysql - url 参数解析 url:jdbc:mysql://127.0.0.1:3306/user?useUnicode=true&characterEncoding=utf8 u ...

随机推荐

  1. kubernetes集群centos7初始化

    设置系统主机名以及 Host 文件的相互解析 hostnamectl set-hostname k8s-master01 安装依赖包 yum -y install wget net-tools nfs ...

  2. CAP 5.0 版本发布通告

    前言 今天,我们很高兴宣布 CAP 发布 5.0 版本正式版.同时我们也很高兴的告诉你 CAP 已经有越来越多的用户并且变得越来越流行. 在 5.0 版本中,我们主要致力于更好的支持 .NET 5 以 ...

  3. Python表达式进阶——列表表达式

    x = 0 y = x*2 if x >= 0 else x print(y) # [表达式for变量in列表] l1 = [] l2 = [i for i in range(100) if i ...

  4. 1.1.09- 序列赋值 is , is not运算符

    两个变量的交换算法 代码如下: a = 10000 b = 20000 temp = a a = b b = temp print(a) print(b) 序列赋值: a,b = b,aprint(a ...

  5. 问题:dependencyManagement和dependencies有什么区别

    dependencyManagement和dependencies有什么区别 一.Maven的包管理 在maven中,dependencyManagement.dependencies和depende ...

  6. php中怎么使用call_user_func动态调用方法

    php中可使用call_user_func进行方法的动态调用,可以动态调用普通函数.类方法以及带参数的类方法1.定义一个普通函数getCurrentDate,用于获取今天日期.call_user_fu ...

  7. 不可不知的CSS小技巧

    一.表单部分 1.禁止textarea文本域的缩放 resize:none; 2.去除初始化textarea下拉条 overflow:auto; 3.如何让表单中的选项按钮,点击文字也能选中? < ...

  8. hdu4561 连续最大积

    题意: 连续最大积 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

  9. UVA10047独轮车

    题意:      给你一个独轮车,轮子上有五个扇形,每过一个格子就转过一个扇形,刚开始的时候方向是向北的,绿色上行向下,每一次可以有三种操作,到下一个格子,左转90度,右转90度,每一次操作都花费时间 ...

  10. CVE-2018-0798:Microsoft office 公式编辑器 Matrix record 字段栈溢出漏洞调试分析

    \x01 前言 2018 年 1 月 9 日,Office 公式编辑器再曝出新漏洞,编号为 CVE-2018-0798.提起公式编辑器大家都不陌生,之前的 CVE-2017-11882 和 CVE-2 ...