requests的get请求
说明:这里使用聚合数据中的根据城市名查询全国天气数据接口。
接口地址:http://v.juhe.cn/weather/index
返回格式:json/xml
请求方式:get
请求示例:http://v.juhe.cn/weather/index?format=2&cityname=%E8%8B%8F%E5%B7%9E&key=您申请的KEY
AppKey:265516ed24e2dc54b09becbcba2a546e
JSON返回示例:
{
"resultcode": "200",
"reason": "查询成功!",
"result": {
"sk": { /*当前实况天气*/
"temp": "21", /*当前温度*/
"wind_direction": "西风", /*当前风向*/
"wind_strength": "2级", /*当前风力*/
"humidity": "4%", /*当前湿度*/
"time": "14:25" /*更新时间*/
},
"today": {
"city": "天津",
"date_y": "2014年03月21日",
"week": "星期五",
"temperature": "8℃~20℃", /*今日温度*/
"weather": "晴转霾", /*今日天气*/
"weather_id": { /*天气唯一标识*/
"fa": "00", /*天气标识00:晴*/
"fb": "53" /*天气标识53:霾 如果fa不等于fb,说明是组合天气*/
},
"wind": "西南风微风",
"dressing_index": "较冷", /*穿衣指数*/
"dressing_advice": "建议着大衣、呢外套加毛衣、卫衣等服装。", /*穿衣建议*/
"uv_index": "中等", /*紫外线强度*/
"comfort_index": "",/*舒适度指数*/
"wash_index": "较适宜", /*洗车指数*/
"travel_index": "适宜", /*旅游指数*/
"exercise_index": "较适宜", /*晨练指数*/
"drying_index": ""/*干燥指数*/
},
"future": [ /*未来几天天气*/
{
"temperature": "28℃~36℃",
"weather": "晴转多云",
"weather_id": {
"fa": "00",
"fb": "01"
},
"wind": "南风3-4级",
"week": "星期一",
"date": "20140804"
},
{
"temperature": "28℃~36℃",
"weather": "晴转多云",
"weather_id": {
"fa": "00",
"fb": "01"
},
"wind": "东南风3-4级",
"week": "星期二",
"date": "20140805"
},
{
"temperature": "27℃~35℃",
"weather": "晴转多云",
"weather_id": {
"fa": "00",
"fb": "01"
},
"wind": "东南风3-4级",
"week": "星期三",
"date": "20140806"
},
{
"temperature": "27℃~34℃",
"weather": "多云",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "东南风3-4级",
"week": "星期四",
"date": "20140807"
},
{
"temperature": "27℃~33℃",
"weather": "多云",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "东北风4-5级",
"week": "星期五",
"date": "20140808"
},
{
"temperature": "26℃~33℃",
"weather": "多云",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "北风4-5级",
"week": "星期六",
"date": "20140809"
},
{
"temperature": "26℃~33℃",
"weather": "多云",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "北风4-5级",
"week": "星期日",
"date": "20140810"
}
]
},
"error_code": 0
}
需求:根据聚合天气的城市名/id查询天气,给定接口地址,get请求有两个参数cityname和key。
根据需求设计测试用例(这里只写了两条):
案例代码如下:
import requests
"""
测试用例中数据请求成功的情况
"""
# #接口地址以及get请求的属性参数(这里使用聚合天气接口,get请求需要cityname和key参数值
# url="http://v.juhe.cn/weather/index"
# para={"cityname":"济南","key":"265516ed24e2dc54b09becbcba2a546e"}
#
# #使用requests发送请求
# result=requests.get(url,para)
# #查看返回的状态码
# print(result.status_code)
# #查看返回的json数据以及json中指定名称的数值
# result_json=result.json()
# print(result_json)
# # print(result_json["result"])
# # print(result_json["result"]["today"])
# print("\n",result_json["result"]["future"])
"""
测试用例中数据请求不成功的情况(key值不正确)
"""
url="http://v.juhe.cn/weather/index"
para={"cityname":"济南","key":"265516ed24e2dc"}
#使用requests发送请求
result=requests.get(url,para)
#查看返回的状态码
print(result.status_code)
#查看返回的json数据以及json中指定名称的数值
result_json=result.json()
print(result_json)
运行效果: