在Python中处理带有"?"参数的URL接口,可以使用urllib.parse库中的urlencode()函数来进行编码。以下是一些示例代码
如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站百万播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:扣扣群:798478386
B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibiliB站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click
from urllib.parse import urlencodeparams = {'name': 'John', 'age': 25}
url = 'http://example.com?' + urlencode(params)
print(url)
这个代码片段将会输出类似如下的URL:http://example.com?name=John&age=25
在上面的代码中,首先定义了一个字典params
,包含了需要传递给接口的参数。然后通过urlencode()
函数对这个字典进行编码,并使用字符串拼接的方式将编码后的结果添加到原始URL的末尾。
如果需要对带有“?”参数的URL进行解析,可以使用urllib.parse库中的urlparse()函数来进行解析。例如:
from urllib.parse import urlparse, parse_qsurl = 'http://example.com?q=python&p=2'
parsed_url = urlparse(url)
query_params = parse_qs(parsed_url.query)print(query_params)
这个代码片段将会输出一个字典,包含了URL中的所有查询参数:{'q': ['python'], 'p': ['2']}
在上面的代码中,首先使用urlparse()
函数对URL进行解析,并得到一个包含各个部分信息的对象。然后使用parse_qs()
函数对URL中的查询参数进行解析,并返回一个字典,包含了参数名和参数值。