基本网络知识
1.TCP/IP
- TCP/IP是非常重要的协议,由IP和TCP两个协议构成。
- IP(internet protocol)是一种低级的路由协议,无法保证所有包都抵达目的地,也不能保证包都按顺序抵达。
- TCP 能够保证数据包安全的按照发送时的顺序送达目的地。
2.IP地址
每台计算机都必须有一个与众不同的标识,即为IP地址。TCP/IP使用IP地址来识别源地址和目的地地址。
如今的IP地址有IPv4 和IPv6
IP v4 由4个不同的八位二进制数构成。
3.端口
- 每台计算机拥有很多网络通信程序在运行,提供网络服务或者进行通信,这就需要不同的端口进行通信
- 如果把IP地址比作电话号码,那么端口就是分机号码,在进行网络通信时不仅要指定IP地址,还要指定端口号
4.HTTP/HTTPS
- HTTP 是无连接协议,即在每一次请求时都建立连接,服务器在处理完客户端的请求后,会先应答客户端,然后断开连接,不会一直占用网络资源。
- HTTP /1.1共定义了8种请求方法: OPTIONS 、 HEAD 、 GET 、 POST 、 PUT 、 DELETE 、 TRACE 和 CONNECT 。
- HTTPS 与 HTTP 的区别是: HTTPS 使用 https://代替http://, HTTPS使用端口443,而 HTTP 使用端口80与 TCP / IP 通信。
HTTPS 为加密 较为安全
方法1:get
- GET 方法:用于向指定的资源发出请求,被发送的信息"显式"地跟在 URL 后面。
- 它一般只用于读取数据,例如静态图片等。
- GET 方法有点像使用明信片给别人写信,将"信的内容"写在外面,接触到的人都可以看到,因此是不安全的。
方法2:post
- POST 方法:用于向指定的资 源提交数据,请求服务器进行处理,例如提交表单或者上传文件等。数据被包含在请求体中。
- POST 方法像是把"信的内容"装入信封中,接触到该
信封的人都看不到信的内容因此是相对安全的。
搭建web网站
采用Java和tomcat进行网络搭建
urllib.request 模块
在python中访问互联网资源,可以使用官方内置的urllib.request 模块。
1.发送GET请求
若要发送HTTP/HTTPS的GET请求,则可以使用urllib.request 模块中的Request对象。
2.发送POST请求
若要发送HTTP/HTTPS协议的POST请求, 则其发送流程与发送GET请求非常类似。
其中encode 为编码 ;decode为解码
with urllib.request.urlopen(req) as response:
data = response.read()
json_data = data.decode()
prnt(json_data )
使用with代码块 打开网络请求返回response对象
然后读取对象 在进行解码
4.JSON数据
JSON数据(JavasScript OBject Nonation)数据格式
服务器返回对象
{“CDate”:“2018-12-30”,“Comtent”, “发布python9”,UserID".“tony”,“ID”:10}
键值对应
4.1.JSON 文档结构
- JSON对象
- JSON数组
4.2.JSON数据解码
- JSON 数据的解码( decode )指将 JSON 数据转换为 Python 数据,当从网络中接收或从磁盘中读取 JSON 数据时,需要将其解码为 Python 数据。
- json 模块提供的 loads ( str )函数进行 JSON 数据的解码,参数 str 是 JSON 字符串,返回 Python 数据。
代码如下: