美文网首页
【python实践】之URL及其参数处理

【python实践】之URL及其参数处理

作者: 大婶N72 | 来源:发表于2018-07-30 10:25 被阅读1468次

    真正的稳定,是自己不断成长,不断寻找新的空间。与其要稳定,不如开始拥抱这个变化的时代,让自己准备好。


    python实践

    【写在前面】:
    我们知道接口测试时重点是接口请求参数和组合形式,在之前的文章中我们提到接口请求参数的分析和自动生成,之前本人是自己写方法来处理这些数据,后来发现python本身就自带参数的拆分和组合,真是“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”。
    【材料】:
    参考材料 https://cuiqingcai.com/5508.html

    【方法】:
    1、parse_qs() #将get请求url后的参数转换为字典
    举例如下:

    from urllib.parse import parse_qs
    query = 'name=germey&age=22'
    print(parse_qs(query))
    

    运行结果如下:

    {'name': ['germey'], 'age': ['22']}
    

    2、parse_qsl() #将get请求url后的参数将参数转化为元组组成的列表
    举例如下:

    from urllib.parse import parse_qsl
    query = 'name=germey&age=22'
    print(parse_qsl(query))
    

    运行结果如下:

    [('name', 'germey'), ('age', '22')]
    

    3、urlencode() #构造GET请求参数
    举例如下:

    from urllib.parse import urlencode
    params = {
        'name': 'germey',
        'age': 22
    }
    base_url = 'http://www.baidu.com?'
    url = base_url + urlencode(params)
    print(url)
    

    运行结果如下:

    http://www.baidu.com?name=germey&age=22
    

    4、urlsplit() #拆分url
    举例如下:

    from urllib.parse import urlsplit
    result = urlsplit('http://www.baidu.com/index.html;user?id=5&type=test')
    print(result)
    

    运行结果如下:

    SplitResult(scheme='http', netloc='www.baidu.com', path='/index.html;user', query='id=5&type=test', fragment='')
    

    返回结果是SplitResult,它其实也是一个元组类型,既可以用属性获取值,也可以用索引来获取。示例如下:

    print(result.query, result[0])
    

    运行结果如下:

    id=5&type=test http
    

    5、quote() #将内容转化为URL编码的格式。URL中带有中文参数时,有时可能会导致乱码的问题,此时用这个方法可以将中文字符转化为URL编码.
    举例如下:

    from urllib.parse import quote
    keyword = '壁纸'
    url = 'https://www.baidu.com/s?wd=' + quote(keyword)
    print(url)
    

    运行结果如下:

    https://www.baidu.com/s?wd=%E5%A3%81%E7%BA%B8
    

    6、unquote() #进行URL解码
    举例如下:

    from urllib.parse import unquote
    url = 'https://www.baidu.com/s?wd=%E5%A3%81%E7%BA%B8'
    print(unquote(url))
    

    运行结果如下:

    https://www.baidu.com/s?wd=壁纸
    

    相关文章

      网友评论

          本文标题:【python实践】之URL及其参数处理

          本文链接:https://www.haomeiwen.com/subject/fsmxvftx.html