介面測試get請求url拼接函式(python)
阿新 • • 發佈:2018-11-17
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 type(params) != type({}): 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!