#导入requests库
#第一次需要安装:pip install requests
import requests
#测试天气预报接口,发送Get请求,查看返回的JSON结果
#提供请求的URL地址
url = 'http://apis.juhe.cn/simpleWeather/query'
#提供请求的参数 按照字典语法提供键值对 参数名:参数值
data = {'city': '北京', 'key': '545fcf8594xxxxxxx'}
#调用requests库,以get方法发送url请求,并携带参数,返回响应结果
result = requests.get(url, params=data)
#获取响应结果中HTTP响应状态码
rcode = result.status_code
print('HTTP响应码:', rcode)
#根据响应码判断是否输出正确的响应主体内容
if rcode == 200:
print('HTTP响应主体内容:', result.text)
else:
print('出现错误!')
import requests
#以Post方式访问天气预报接口
url = 'http://apis.juhe.cn/simpleWeather/query'
data = {'city': '上海', 'key': '545fcf85945fcxxxxxxx'}
result = requests.post(url, data=data)
rcode = result.status_code
print('HTTP响应码:', rcode)
if rcode == 200:
print('HTTP响应主体文本:', result.text)
else:
print('执行错误!')
#依次对多个城市进行天气预报查询
import requests
url = 'http://apis.juhe.cn/simpleWeather/query'
citys = ['北京', '上海', '广州', '深圳', '杭州']
mykey = '0daf981c965a823d8xxxxxxx'
#遍历citys,对每个城市元素进行访问,作为请求的参数
for c in citys:
print(c)
data = {'city': c, 'key': mykey}
result = requests.get(url, params=data)
rcode = result.status_code
print('HTTP响应码:', rcode)
if rcode == 200:
print('HTTP响应主体文本:', result.text)
else:
print('执行错误!')
import requests
#定义一个函数,通过传入多个城市,批量测试天气预报接口
def queryWeather(url, citys, mykey):
i = 1
for c in citys:
data = {'city': c, 'key': mykey}
print('第%d次,查询的城市:%s' % (i, c))
i += 1
result = requests.get(url, params=data)
rcode = result.status_code
print('HTTP响应码:', rcode)
#对结果进行多层面检查
if rcode == 200:
#先获取响应主体文本
rtext = result.text
print('响应主体文本:', rtext)
#添加检查点 判断结果文本含有'查询成功' 又含有城市名
#文本.find(子串) == -1 表示找不到子串
#文本.find(子串) != -1 表示找到了
if rtext.find('查询成功') != -1 and rtext.find(c) != -1:
print('检查点通过!')
else:
print('检查失败!')
else:
print('执行错误!')
#主程序
if __name__ == '__main__':
url = 'http://apis.juhe.cn/simpleWeather/query'
citys = ['北京', '上海', '昆明', '西安', '青岛', '土星']
mykey = '0daf981c965a823d8cf4xxxxxx'
queryWeather(url, citys, mykey)