资源简介 (共24张PPT)Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque tatibus et magnis dis parturient montes, nascetur ridiculus mus.少儿编程课初识HTTP协议我们先来学习HTTP协议。那么什么是协议呢?微信和知乎,背后通讯的过程大致如下:微信服务器微信知乎服务器知乎知乎/今日头条/抖音服务器(Java、PHP等)知乎/今日头条/抖音客户端(Android、IOS、浏览器页面、桌面应用)知乎/今日头条/抖音数据库(MySQL、Oracle等)请求request响应response接收请求发起数据库连接从数据库取得数据数据转为JSON接收JSON数据解析JSON展示到页面上HTTP协议:请求+响应我们个人能做新闻类/天气类客户端吗?公共服务端答案是可以的!一些企业和政府机构已经提供了公共的数据:天气预报客户端每日新闻客户端人脸识别客户端英文翻译客户端……客户端天气预报服务端每日新闻服务端人脸识别服务端英文翻译服务端……服务端公共服务端公共服务端那么我们如何使用这些公共的服务呢?通过网址天气预报客户端每日新闻客户端人脸识别客户端英文翻译客户端……客户端天气预报服务端每日新闻服务端人脸识别服务端英文翻译服务端……服务端www.1.comwww.2.comwww.3.comwww.4.comwww.5.com公共服务端这个过程就和去食堂吃饭一样,想吃什么就去对应的窗口,网址就相当于是打饭的窗口,这里称为接口{"code": 200,"msg": "success","newslist": [{"ctime": "2016-07-12 13:36","title": "外媒:特雷莎-梅赢得首相之职 但将面临脱欧硬仗","description": "搜狐国际","picUrl": "http://photocdn./20160712/Img458833600_ss.png","url": "http://news./20160712/n458855349.shtml"},{"ctime": "2016-07-12 11:17","title": "废弃肉饼流入市场 日本警方逮捕三名嫌犯","description": "搜狐国际","picUrl": "http://photocdn./20160712/Img458826696_ss.jpeg","url": "http://news./20160712/n458828803.shtml"}]}Json数据接口地址http://apistore./apiworks/servicedetail/823.html来看下新闻APP如何来做这些数据接口都能在哪找到呢?showapi:https://www.海航数据开放平台:https://data./idataapi:http://www.深圳市政府数据开放平台:http://opendata.sz.成都市公共数据开放平台:http://www.cddata./广东省数据开放平台:http://www.gddata./聚合数据:https://www.淘宝数据开放平台:http://open.阿里、百度、讯飞、图灵机器人、。。。。。。。Requests库下载安装requests是一个第三方库,用来完成HTTP请求,获取网络数据1首先是requests的下载2按下回车,将会自动下载安装安装完成之后,来看一下requests库的简单使用,先来看这样一个网站:http://www.httpbin.org这个网站能测试 HTTP 请求和响应的各种信息,比如 cookie、ip、headers 和登录验证等且支持 GET、POST 等多种方法,对 web 开发和测试很有帮助GET请求先来试一下简单的GET请求1导入requests库2使用get方法去请求网站,将结果输出import requestsres = requests.get('http://www.httpbin.org')print(res.text)3结果如下,输出了整个网页文本:使用res变量代表请求后的响应信息,res.text是网页返回的数据然后在进行GET请求时,传入参数1传入参数:用户名和密码2输出相应信息中的网址和内容3结果如下:res = requests.get('http://www.httpbin.org/get', params={'username': 'cloudream'})print(res.url)print(res.text)返回的网址后面拼接上了我们传入的参数返回的内容是json数据,包含传入的参数、请求头等信息POST请求现在,我们来写一个带有请求头和参数的post请求1编写请求头2发起post请求,并将数据输出headers = {'User‐Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)''AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87Safari/537.36'}res = requests.post('http://www./index.php app=fullstack&mod=Public&act=doLogin',data={'account': 'chen@ucai','password': '111111','remember': 'undefined'}, headers=None)print(res.text)二进制数据使用requests获取二进制数据,并存到本地1导入相关库2使用get方法去请求网站,将结果输出3以二进制方式读取图片数据import requestsfrom PIL import Imagefrom io import BytesIO# 二进制数据res = requests.get('http://pic29.nipic.com/20130511/9252150_174018365301_2.jpg')BytesIO能够在内存中读写二进制数据img = Image.open(BytesIO(res.content))img.save(r"C:\Users\m_sha\Desktop\test.jpg")4将文件存储到桌面使用requests的get方法获取json数据1get获取json数据res = requests.get('http://httpbin.org/get')print(res.json())2返回的json数据如下:Post也可以发送json数据,我们使用两种不同的方式发送数据来观察有什么不同1get获取json数据3Post发送json数据form = {'username': 'cloud', 'password': '123456'}res = requests.post('http://httpbin.org/post', data=form)print(res.text)2request如下:res = requests.post('http://httpbin.org/post', data=json.dumps(form))print(res.text)4第二种request如下:总结SummaryHTTP协议√Request库的简单使用√Thanks! 展开更多...... 收起↑ 资源预览