接口测试get请求url拼接函数(python)
get请求地址一般是 协议+域名+端口+路径+参数,除了协议和域名其他均可为空。
http(s)://domain:port/path?key1=value1&key2=value2&...
拼接函数:协议默认http,domain必输项,port默认空,path默认空,params默认空,这几项默认参数。
''' get请求的地址拼接函数= 协议+域名+端口+路径+参数 dinghanhua 2018-11-17 ''' def get_url_format(domain,protocal='http',port=None,path=None,params=None): #缺省参数放到最后 url = protocal+'://'+domain if port: url += ':'+str(port) #port不为空,加上:port if path: url += '/'+path #path不为空,加上/path if params: if not isinstance(params,dict): raise Exception('params必须是字典') #不是字典格式抛出异常
url += '?'+'&'.join([ str(key)+'='+str(value) for key,value in params.items() ]) #params不为空,加上?key1=value1&key2=value2 return url
测试一下,拼接的是否正确
print( get_url_format('192.168.6.1'), get_url_format('192.168.6.1',protocal='https'), get_url_format('192.168.6.1',port=8080), get_url_format('192.168.6.1',path='search.html'), get_url_format('192.168.6.1',protocal='https',path='search/p',params={'name':'tester'}), get_url_format(domain='192.168.6.1',protocal='https',port=8080,path='search/p',params={'name':'tester','flag':1}), sep = '\n' )
the end!
当情绪低落,烦躁的时候,学技术并整理成博客能忘却所有烦恼。技术改变心境。