接口測試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!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM