Python拼接get请求参数

tech2025-09-28  18

文章目录

问题描述代码参考文献

问题描述

Python拼接get请求参数,无需手动进行? & 中文转义等工作

代码

import urllib.parse def url_join_args(api, query=None, **kwargs): '''拼接get请求参数 :param api: 原url,可带?或不带 :param query: urllib.parse.urlencode支持的query,建议传dict :param kwargs: 未出现的参数,将组合成字典 :return: 拼接好的url >>> url_join_args('api.com/s') 'api.com/s' >>> url_join_args('api.com/s?') 'api.com/s?' >>> url_join_args('api.com/s', {'a':1, 'b':2}) 'api.com/s?a=1&b=2' >>> url_join_args('api.com/s', (('a', 1), ('b', 2))) 'api.com/s?a=1&b=2' >>> url_join_args('api.com/s', a=1, b='你好') 'api.com/s?a=1&b=%E4%BD%A0%E5%A5%BD' >>> url_join_args('api.com/s', {'a':1}, b=2) 'api.com/s?a=1&b=2' ''' result = api if not result.endswith('?') and (query or kwargs): result = api + '?' if query: result = result + urllib.parse.urlencode(query) if kwargs: if query: result = result + '&' + urllib.parse.urlencode(kwargs) else: result = result + urllib.parse.urlencode(kwargs) return result

参考文献

urllib.parse — Parse URLs into componentsURL - WikipediaPython参数列表*args, **kwargs详解Python3的urllib.parse.urlencode函数
最新回复(0)