目錄
簡(jiǎn)單介紹
Get請(qǐng)求
Post請(qǐng)求
其他類型請(qǐng)求
自定義headers和cookies
SSL 證書驗(yàn)證
響應(yīng)內(nèi)容
獲取header
獲取cookies
簡(jiǎn)單介紹
requests庫簡(jiǎn)單易用的HTTP庫
?
Get請(qǐng)求
格式:?requests.get(url)?
注意:若需要傳請(qǐng)求參數(shù),可直接在?url?最后的???后面,也可以調(diào)用?get()?時(shí)多加一個(gè)參數(shù)?params?,傳入請(qǐng)求參數(shù),注意需要是?dict?格式;如下圖所示
1 url = 'http://127.0.0.1:8888/passport/user/login'
2 param = {
3 'username': '123',
4 'password': '321'
5 }
6
7 """通過params傳參"""
8 res = requests.get(url, params=param)
9 # {'code': 200, 'msg': 'success', 'password': '321', 'username': '123'}
10 print(res.json())
11
12 """通過params方式傳參,最終發(fā)出的url也是一致的"""
13 # http://127.0.0.1:8888/passport/user/login?username=123&password=321
14 print(res.url)
15
16 """通過url最后加上請(qǐng)求參數(shù)列表"""
17 url = 'http://127.0.0.1:8888/passport/user/login?username=123&password=321'
18 res = requests.get(url, verify=False)
19 # {'code': 200, 'msg': 'success', 'password': '321', 'username': '123'}
20 print(res.text)
重點(diǎn):發(fā)送請(qǐng)求賦值的res,可以看成是請(qǐng)求的上下文,既可以獲取請(qǐng)求相關(guān)參數(shù)值,也可以獲取響應(yīng)相關(guān)參數(shù)值
python接口自動(dòng)化測(cè)試視頻教程:2023最新合集Python自動(dòng)化測(cè)試開發(fā)框架【全棧/實(shí)戰(zhàn)/教程】合集精華,學(xué)完年薪40W+_嗶哩嗶哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
? ? ? ? ?
?文章來源地址http://www.zghlxwxcb.cn/news/detail-426298.html
Post請(qǐng)求
格式:?requests.post(url,data)?
注意:若無請(qǐng)求參數(shù)可不傳?data?;當(dāng)傳入請(qǐng)求參數(shù)時(shí),需要傳?dict?格式
1 url = 'http://127.0.0.1:8888/passport/user/post_login'
2 data = {
3 'username': '123',
4 'password': '321'
5 }
6
7 """傳入請(qǐng)求參數(shù)"""
8 res = requests.post(url, data=data)
9 # {'code': 200, 'msg': 'success', 'password': '321', 'username': '123'}
10 print(res.json())
11
12 """查看請(qǐng)求url"""
13 # http://127.0.0.1:8888/passport/user/post_login
14 print(res.url)
其他類型請(qǐng)求
1 r = requests.put('http://httpbin.org/put', data={'key': 'value'}).text
2 r = requests.delete('http://httpbin.org/delete').text
3 r = requests.head('http://httpbin.org/head').text
2023最新合集Python自動(dòng)化測(cè)試開發(fā)框架【全棧/實(shí)戰(zhàn)/教程】合集精華,學(xué)完年薪40W+_嗶哩嗶哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75? ? ? ? ? ? ? ? ? ? ??
?
自定義headers和cookies
1 """自定義headers"""
2 url = 'https://api.github.com/some/endpoint'
3 headers = {'user-agent': 'my-app/0.0.1'}
4
5 r = requests.get(url, headers=headers)
6 # {'message': 'Not Found', 'documentation_url': 'https://developer.github.com/v3'}
7 print(r.json())
8
9 """自定義cookies"""
10 url = 'http://httpbin.org/cookies'
11 cookies = dict(cookies_are='working')
12 cookies2 = {'cookies_are': 'working'}
13
14 r = requests.get(url, cookies=cookies)
15 # {'cookies': {'cookies_are': 'working'}}
16 print(r.json())
SSL 證書驗(yàn)證
當(dāng)發(fā)送請(qǐng)求如果報(bào)以上錯(cuò)誤時(shí),可以在請(qǐng)求方法里加多一個(gè)字段?verify=False?,就可以解決此問題;此操作是為了免去驗(yàn)證步驟
url = 'https://www.imooc.com'
res = requests.get(url, verify=False)
?
響應(yīng)內(nèi)容
注意:當(dāng)調(diào)用?json()?時(shí),確保響應(yīng)內(nèi)容是json格式字符串,否則會(huì)報(bào)錯(cuò)
1 url = 'http://127.0.0.1:8888/passport/user/login'
2 param = {
3 'username': '123',
4 'password': '321'
5 }
6 res = requests.get(url, params=param)
7 print('請(qǐng)求url: ' + res.url)
8 print('響應(yīng)內(nèi)容 json格式: ' + json.dumps(res.json()))
9 print('響應(yīng)內(nèi)容 字符串格式: ' + res.text)
10 print('響應(yīng)內(nèi)容 二進(jìn)制格式: ' + str(res.content))
11 print('響應(yīng)碼: ' + str(res.status_code))
獲取header
注意:headers里面的key是大小寫不敏感的
>>> r.headers['Content-Type']
'application/json'
>>> r.headers.get('content-type')
'application/json'
獲取cookies
>>> r.cookies['example_cookie_name']
'example_cookie_value'
2023最新合集Python自動(dòng)化測(cè)試開發(fā)框架【全棧/實(shí)戰(zhàn)/教程】合集精華,學(xué)完年薪40W+_嗶哩嗶哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75
?文章來源:http://www.zghlxwxcb.cn/news/detail-426298.html
?
到了這里,關(guān)于python接口自動(dòng)化測(cè)試 requests庫的基礎(chǔ)使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!