urequests
--- 网络请求模块¶
urequests
模块的主要功能与函数
程序示例1:¶
import codey
import urequests as requests
import time
# 此处需填入自己路由器的 ssid 和 密码
codey.wifi.start('wifi_ssid', 'password')
codey.led.show(0,0,0)
while True:
if codey.wifi.is_connected():
codey.led.show(0,0,255)
res = requests.get(url='http://www.baidu.com/')
print(res.text)
time.sleep(3)
else:
codey.led.show(0,0,0)
程序示例2:¶
import codey
import urequests as requests
import time
# 此处需填入自己路由器的 ssid 和 密码
codey.wifi.start('wifi_ssid', 'password')
codey.led.show(0,0,0)
hour = minite = second = "00"
while True:
if codey.wifi.is_connected():
try:
res = requests.get(url = 'http://www.time.ac.cn/timeflash.asp?user=flash').text
hour_begin = res.find('<hour>') + len('<hour>')
hour_end = res.find('</hour>')
minite_begin = res.find('<minite>') + len('<minite>')
minite_end = res.find('</minite>')
second_begin = res.find('<second>') + len('<second>')
second_end = res.find('</second>')
if hour_begin > len('<hour>') and hour_end > hour_begin and \
minite_begin > len('<minite>') and minite_end > minite_begin and \
second_begin > len('<second>') and second_end > second_begin:
if hour_end - hour_begin == 1:
hour = '0' + res[hour_begin:hour_end]
elif hour_end - hour_begin == 2:
hour = res[hour_begin:hour_end]
if minite_end - minite_begin == 1:
minite = '0' + res[minite_begin:minite_end]
elif minite_end - minite_begin == 2:
minite = res[minite_begin:minite_end]
if second_end - second_begin == 1:
second = '0' + res[second_begin:second_end]
elif second_end - second_begin == 2:
second = res[second_begin:second_end]
print(hour + ":" + minite + ":" + second)
cur_time = hour + ':' + minite;
codey.display.show(cur_time)
except:
print("get error data")
else:
codey.led.show(0,0,0)
程序示例3:¶
import codey
import urequests as requests
import ujson
# user_account 和 password 的账户信息就是mblock的账户
def get_user_request_header():
post_data = ujson.dumps({ 'account': 'user_account', 'password': 'password'})
request_url = 'http://passport2.makeblock.com/v1/user/login'
res = requests.post(request_url, headers = {'content-type': 'application/json'}, data = post_data).json()
header_data = ''
if res['code'] == 0:
header_data = { "content-type": 'application/json; charset=utf-8', "devicetype": '1'}
header_data["uid"] = str(res['data']['user']['uid'])
header_data["deviceid"] = '30AEA427EC60'
return header_data
# 获取天气信息
# cid: 检查站id
# arg: 需要查询的信息
# aqi: 空气质量指数
# pm25: PM2.5浓度
# pm10: PM10浓度
# co: 一氧化碳浓度
# so2: 二氧化硫浓度
# no2: 二氧化氮浓度
deget_air_quality_info(cid, arg):
if not codey.wifi.is_connected():
return ''
post_data = ujson.dumps({ "cid": cid, "arg": arg})
request_url = 'http://msapi.passport3.makeblock.com/' + 'air/getone'
res = requests.post(request_url, headers = get_user_request_header(), data = post_data)
text = res.text
return float(text)
# 此处需填入自己路由器的 ssid 和 密码
codey.wifi.start('wifi_ssid', 'password')
codey.led.show(0,0,0)
while True:
if codey.wifi.is_connected():
codey.led.show(0,0,255)
data = get_air_quality_info('1539','aqi') #1539 表示深圳测试点
codey.display.show(data)
else:
codey.led.show(0,0,0)