一、安裝python、request模塊
1、python安裝參考pyhton菜鳥教程
2、request模塊安裝pip install request
二、不同請求方式的處理
1、get方式發送請求
import requests
if __name__ == '__main__':
base_url = 'http://xxx:4433' # 服務器主域名
pm = {
'username':'a1',
'password':'123456',
'phone':'12345678901',
'email':'a1@163.com'
}
result= requests.get(url=base_url+'/具體API接口地址',params=pm)
print('響應內容:', result.text)
2、post方式發送請求
import requests
'''
post() 函數表示post請求
* url 請求路徑
* data 鍵值對文本數據,相當於x-www-form-urlencoded
* json raw類型中的json報文格式
響應狀態碼:
* 200 響應成功
* 302/307 重定向
* 304 使用緩存
* 404 資源不存在,路徑問題
* 500 服務器內部錯誤
'''
base_url = 'http://xxx:4433'
data = {
'username':'a1',
'password':'123456'
}
if __name__ == '__main__':
result = requests.post(url=base_url+'具體API接口地址',data=data)
print('文本方式顯示結果:',result.text)
print('json方式顯示結果:', result.json(),'msg: '+result.json()['msg'])
print('響應http狀態碼:',result.status_code)
print('響應頭:',result.headers)
print('響應頭:',result.headers['Content-Type'])
print('查看完整路徑:',result.url)
3、json方式發送請求
import requests
base_url = 'http://xxx:4433'
pm = {
'username': 'a3',
'password': '123456',
'phone': '12345678901',
'email': 'a3@163.com'
}
if __name__ == '__main__':
result = requests.post(url=base_url+'具體API接口地址',json=pm)
dict = result.json()
print('響應文本:',result.text)
print('result取值:',dict['data']['phone'])
4、 上傳文件
import requests
'''
文件上傳
* url 請求路徑
* data 鍵值對文本數據,相當於x-www-form-urlencoded
* json raw類型中的json報文格式
file---文件
* mode rb=binary encoding 文本
'''
base_url = 'http://xxx:4433'
pm={'username':'a1'}
pic = {
'pic':open(file='C:\\Users\\Administrator\\Pictures\\woman0.png',mode='rb'),
}
if __name__ == '__main__':
result = requests.post(url=base_url+'具體API接口地址',data=pm,files=pic,timeout=1)
print(result.text)
'''
timeout 讀取超時
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=8080): Read timed out. (read timeout=1e-05)
'''
5、接口依賴
import requests
def interfaceTest(base_url):
'''1、獲取驗證碼'''
result_01 = requests.get(url=base_url + 'API 地址1')
code_json = result_01.json()
'''2、獲取驗證碼值'''
print('獲取驗證碼:', result_01.text)
code = code_json['data']['code']
print(code)
'''3、獲取驗證碼響應頭內cookie'''
get_Cookie = result_01.headers['Set-Cookie']
'''4、、注冊'''
pm = {
'username': 'a6',
'password': '123456',
'email': 'a6@163.com',
'verifyCode': code
}
set_Cookie = {'Cookie':get_Cookie}
result_02 = requests.post(url=base_url + 'API 地址2', data=pm,headers=set_Cookie)
print("注冊:",result_02.text)
if __name__ == '__main__':
base_url = '主機IP和端口'
interfaceTest(base_url)