前戏 使用python做接口自动化,必须用到requests这个库,功能非常的强大,能满足我们大部分的需求。 官网:https://2.python-requests.org//zh_CN/latest/ 安装:pipinstallrequests 发送请求
前戏
使用python做接口自动化,必须用到requests这个库,功能非常的强大,能满足我们大部分的需求。
官网:https://2.python-requests.org//zh_CN/latest/
安装:pip install requests
发送请求
requests发送一个请求非常简单
import requestsbasic_url = 'http://httpbin.org'
# 发送get请求
r = requests.get(basic_url + '/get')
print(r.status_code) # 打印状态码
# 发送post请求
r = requests.post(basic_url + '/post')
print(r.status_code)
# 发送put请求
r = requests.put(basic_url + '/put')
print(r.status_code)
# 发送delete请求
r = requests.delete(basic_url + '/delete')
print(r.status_code)
有时候我们发送请求之后,服务器返回给我们的响应里面,可能会包含乱码或者是在一行显示,类似下面这样
{"result":600001,"data":"","msg":"\u8bfe\u7a0b\u4e0d\u5b58\u5728"}这时候我们就要用json库进行格式化
import requestsimport json
url = 'http://t.weather.sojson.com/api/weather/city/101030100'
r = requests.get(url)
r = r.json() # 返回响应的JSON编码内容,如果返回的不是json格式的就会报错,字典类型,不能对r.text进行json()
f = json.dumps(r, indent=2, sort_keys=True, ensure_ascii=False)print(f)
index缩进多少,sort_keys排序,ensure_ascii=False将汉字显示出来
结果
{"cityInfo": {
"city": "天津市",
"citykey": "101030100",
"parent": "天津",
"updateTime": "00:19"
},
"data": {
"forecast": [
{
"aqi": 89,
"date": "24",
"fl": "<3级",
"fx": "西南风",
"high": "高温 32℃",
......
},
"date": "20190824","status": 200,
"time": "2019-08-25 00:30:04"
}
这样就能友好的展示了