生活随笔
收集整理的這篇文章主要介紹了
php url传递参数_python+Requests接口自动化测试之传递 URL 参数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Requests傳遞 URL 參數(shù):
你也許經(jīng)常想為 URL 的查詢字符串(query string)傳遞某種數(shù)據(jù)。如果你是手工構(gòu)建 URL,那么數(shù)據(jù)會(huì)以鍵/值對(duì)的形式置于 URL 中,跟在一個(gè)問號(hào)的后面。例如,http://www.bcbxhome.com/bcbxxy/search.php?key=val。
Requests 允許你使用 params 關(guān)鍵字參數(shù),以一個(gè)字符串字典來提供這些參數(shù)。舉例來說,如果你想傳遞 key1=value1 和 key2=value2 到http://www.bcbxhome.com/bcbxxy/search.php,那么你可以使用如下代碼:
>>> payload = {'key1': 'value1', 'key2': 'value2'}>>> r = requests.get(" http://www.bcbxhome.com/bcbxxy/search.php", params=payload)復(fù)制代碼
實(shí)戰(zhàn)操作一下吧:
>>>payload = {'mod': 'forum', 'searchid': '8', 'orderby': 'lastpost', 'ascdesc': 'desc', 'searchsubmit': 'yes', 'kw': '接口自動(dòng)化'}>>>r = requests.get(" http://www.bcbxhome.com/bcbxxy/search.php", params=payload)復(fù)制代碼
通過打印輸出該 URL,你能看到 URL 已被正確編碼:
>>> print(r.url)http://www.bcbxhome.com/bcbxxy/search.php?mod=forum&searchid=8&orderby=lastpost&ascdesc=desc&searchsubmit=yes&kw=%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E5%8C%96復(fù)制代碼
注意字典里值為 None 的鍵都不會(huì)被添加到 URL 的查詢字符串里。
>>>payload = {'mod': 'forum', 'searchid': '8', 'orderby': 'lastpost', 'ascdesc': 'desc', 'searchsubmit': 'yes', 'kw': None}>>> r = requests.get('http://httpbin.org/get', params=payload)>>> print(r.url)http://www.bcbxhome.com/bcbxxy/search.php?mod=forum&searchid=8&orderby=lastpost&ascdesc=desc&searchsubmit=yes復(fù)制代碼
你還可以將一個(gè)列表作為值傳入:
>>> payload = {'mod': 'forum', 'searchid': '8', 'orderby': 'lastpost', 'ascdesc': 'desc', 'searchsubmit': 'yes', 'kw': ['接口','自動(dòng)化']}>>> r = requests.get('http://httpbin.org/get', params=payload)>>> print(r.url)http://www.bcbxhome.com/bcbxxy/search.php?mod=forum&searchid=8&orderby=lastpost&ascdesc=desc&searchsubmit=yes&kw=%E6%8E%A5%E5%8F%A3&kw=%E8%87%AA%E5%8A%A8%E5%8C%96復(fù)制代碼
完整代碼如下:
import requestspayload = {'mod': 'forum', 'searchid': '8', 'orderby': 'lastpost', 'ascdesc': 'desc', 'searchsubmit': 'yes', 'kw': '接口自動(dòng)化'}result = requests.get(" http://www.bcbxhome.com/bcbxxy/search.php", params=payload)print(result.url)payload = {'mod': 'forum', 'searchid': '8', 'orderby': 'lastpost', 'ascdesc': 'desc', 'searchsubmit': 'yes', 'kw': None}result = requests.get(" http://www.bcbxhome.com/bcbxxy/search.php", params=payload)print(result.url)payload = {'mod': 'forum', 'searchid': '8', 'orderby': 'lastpost', 'ascdesc': 'desc', 'searchsubmit': 'yes', 'kw': ['接口','自動(dòng)化']}result = requests.get(" http://www.bcbxhome.com/bcbxxy/search.php", params=payload)print(result.url)復(fù)制代碼
對(duì)應(yīng)結(jié)果如下:
http://www.bcbxhome.com/bcbxxy/search.php?mod=forum&searchid=8&orderby=lastpost&ascdesc=desc&searchsubmit=yes&kw=%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E5%8C%96http://www.bcbxhome.com/bcbxxy/s ... sc&searchsubmit=yeshttp://www.bcbxhome.com/bcbxxy/s ... A%E5%8A%A8%E5%8C%96復(fù)制代碼
有沒有疑問為啥kw后面的漢字變成了%+英文+數(shù)字?
這個(gè)叫url編碼,這里就不展開細(xì)講了可以去這里嘗試一下http://www.jsons.cn/urlencode/
總結(jié)
以上是生活随笔為你收集整理的php url传递参数_python+Requests接口自动化测试之传递 URL 参数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。