网络基础与FTP准备
一网络基础
1.端口:
端口是为了将同一台电脑上的不同程序进行隔离
(IP是在找电脑,端口是在找电脑上的程序)
实例:
MySQL是一个软件,帮助我们在硬盘上进行操作,默认端口是3306
Redis是一个软件,帮助我们在内存里进行数据操作,默认端口:6379
网站默认端口:80,访问时:http://www.baidu.com:80 (前面是http)
:443,访问时:https://www.baidu.com:443 (前面是https)
范围:
一共:1-65535
内置:1-1024
一般情况:8000,8001... 2.OSI:七层模型
七层:
应用层 使用的软件
表示层 看到的数据(如图片和视频)
会话层 保持登录或链接状态 应用偷偷携带一点其他数据:令牌 19rRNAwf8GVe6xyT9kJPIu5SlQc
传输层 TCP/UDP [TCP][基础数据|令牌]
网络层 IP [IP][TCP][基础数据|令牌]
数据链路层 MAC [MAC][IP][TCP][基础数据|令牌]
物理层 将数据转换成电信号发送(01010101010101)
五层:
应用层
应用层 表示层
会话层
传输层
网络层
数据链路层
物理层
四层:
应用层
应用层 表示层
会话层
传输层
网络层
物理层 数据链路层
物理层 3.三次握手四次挥手
客户端向服务端发起连接请求:三次握手
client.connent()
客户端 服务端
我能连接你吗
好的
我来了
client.connect()
客户端和服务端断开连接:四次挥手
client.close() 或 conn.close()
客户端 服务端
我要跟你断开连接
断开吧,等我处理一下
...
处理完了,断开吧
拜拜
4.断开连接时会抛异常(Windows)或发送一个空的字符串(Linux或max) 二.FTP准备
1.\r
print('\r80%',end=' ') #\r的意思是跳到当前行的最前面,并且会覆盖后面的内容
print('\r90%',end=' ') 2.%%
tpl='进度条目前是%s%%' % 90
print(tpl) 3.进度条
import time
def func(size,total_size):
val=int(size/total_size*100)
print('\r%s%%|' % val+'#'*int(size/3),end=' ')
time.sleep(0.1)
for i in range(1,101):
func(i,100) 4.计算文件字节大小
import os
size=os.stat(r'C:\Users\Administrator\PycharmProjects\untitled3\test1.py').st_size
print(size)
size1=os.path.getsize(r'C:\Users\Administrator\PycharmProjects\untitled3\test1.py')
print(size1) 5.打印表情
print('\ue409') 6.send还是sendall
推荐sendall,发的全 7.自定义协议:
自己觉得定义一个对象可以简化代码,就可以自定义一个协议 8.状态码
在某个地方定义好
{'1001':'上传文件','1002':'下载文件'}
也可以是其他类型 9.把字符串转换成字节
如果不存在中文的话,可以在前面加一个b来快速转换
网络基础与FTP准备的更多相关文章
- 网络基础、ftp任务(进度条、计算文件大小、断点续传、搭建框架示例)
一.网络基础 1.端口,是什么?为什么要有端口? 端口是为了将同一个电脑上的不同程序进行隔离. IP是找电脑:端口是找电脑上的应用程序: 端口范围:1 – 65535 : 1 - 1024 不要 ...
- 网络基础四 DNS DHCP 路由 FTP
第1章 网络基础 1.1 IP地址分类 IP地址的类别-按IP地址数值范围划分 IP地址的类别-按IP地址用途分类 IP地址的类别-按网络通信方式划分 1.2 局域网上网原理过程 DHCP原理过程详情 ...
- 网络基础、多线程、ftp任务铺垫
一.网络基础 学习网络编程,了解一些网络基础的知识是必不可少的,下面学习一些基础的网络知识: 1.我们的电脑里有网卡,网卡里有mac地址: 2.我到某个地方插上网线,路由器或交换机中的DHCP服务为我 ...
- 前端学HTTP之网络基础
× 目录 [1]网络 [2]OSI [3]TCP/IP 前面的话 HTTP协议对于前端工程师是非常重要的.我们在浏览网站时,访问的每一个WEB页面都需要使用HTTP协议实现.如果不了解HTTP协议,就 ...
- 网络基础知识、ASP.NET 核心知识(1)*
为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...
- Java 网络编程(一) 网络基础知识
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
- http(一)web和网络基础
深入学习http不为别的,只为补充底层知识,打好根基,深入了解其他技术,擒贼先擒王,学好九阳神功以后,乾坤大挪移,太极剑就容易了,急于求成,就只能变周芷若.走着...... 来源于:图解HTTP 1. ...
- 了解web及网络基础
了解web及网络基础 以下内容简单的说明了一下TCP/IP协议族中HTTP协议.DNS服务.IP协议的一些概念和关系.笔者只是对知识点进行了总结,仅供参考: ) 转载请注明出处:了解web及网络基础 ...
- 异常处理与网络基础中的tcp,udp协议
# 异常处理: # 什么是异常?异常和错误的区别 # Error 语法错误 比较明显的错误 在编译代码阶段就能检测出来 # Iteration 异常 在执行代码的过程中引发的异常 # 异常发生之后的效 ...
随机推荐
- 数据竞赛利器 —— xgboost 学习清单
1. 入门大全 xgboost 作者给出的一份完备的使用 xgboost 进行数据分析的完整示例代码:A walk through python example for UCI Mushroom da ...
- vue 一些webpack的配置详解
最近一直在忙着做项目 本来想养成一个经常跟新博客的习惯 , 但是实在是太难了 , 每天加班到10点多 .8点能下班都是最好的了 , 小公司真不好待呀 分享一下最近半年的vue心得吧 我的项目是在他的基 ...
- dp_Pku1887
<span style="color:#000099;">/* A - 单纯dp 示例 Time Limit:1000MS Memory Limit:30000KB 6 ...
- Javascript中的类实现
Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门 ...
- iOS开展block说明
源代码下载 浅谈block使用方法 对于block他用着确实方便,好多人都非常迷茫,这里写了一个Demo解说block的使用方法 好多人都觉得block是用于后一个界面向前一个界面传值用的,事实上更详 ...
- 两个QWidget叠加,可部分代替layout的功能
在QT开发过程中,有时候会遇到这样的问题,当我们自己创建了一个Layout对象以后,使用QWidget的setLayout方法,将这个Layout对象应用到窗口中的时候,发现窗口上没有我们添加的控件, ...
- 算法模型的 Motivations
neurally-inspired biologically-inspired 1. CNN:biologically-inspired CNN(Convolutional Neural Networ ...
- 简明Python3教程(A Byte of Python 3)
关键字:[A Byte of Python v1.92(for Python 3.0)] [A Byte of Python3] 简明Python教程 Python教程 简明Python3教程 简明 ...
- WPF 3D 获取鼠标在场景的3d坐标
原文:WPF 3D 获取鼠标在场景的3d坐标 上一篇中我们谈到了WPF 3d做图的一些简单原理,这里我们简单介绍一下怎样获得鼠标在场景中的3d坐标,知道了3d坐标就可以进行很多操作了: 首先介绍一下3 ...
- WinEdt && LaTex(三)—— 宏包
amsmath:最常用的数学宏包 1. bm:bold math 数学字体加粗 \documentclass{article} \usepackage{bm} \begin{document} \[ ...