【python+postman接口自动化测试】(1)网络基础知识
一、IP地址
就像每个人都有一个身份证号码 IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址。
查看IP命令:
Windows: ipconfig
Linux: ifconfig
Python练习:检查字符串是否ip
1 def is_ip(ip):
2 num_list = ip.split(".")
3 for num in num_list:
4 if not num.isdigit() or not 0 <= int(num) <=255:
5 return False
6 return True
7
8
9 print(is_ip("101.1.0.201"))
10 print(is_ip("1011.1.0.201"))
C:\Users\yzp\PycharmProjects\auto_test\Scripts\python.exe D:/00test/auto_test/IsIP.py
True
False Process finished with exit code 0
二、端口
"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。 如果把IP地址比作一间房子,端口就是出入这间房子的门。一个IP地址的端口可以有65536(即:
2^16)个 端口类型。
- 公认端口:从0到1023,紧密绑定于一些服务
- 注册端口:人1024到49151,许多服务绑定这些端口,这些端口同样用于许多其它目的。
- 动态或私有端口:从49152到65535。理论上,不应为服务分配这此端口。实际上,机器通常从1024起分配动态端口。 常见软件默认端口
- Apache/Nginx(HTTP服务): 80
- Tomcat: 8080
- Oracle: 1521
- MySQL: 3306
- SQL Server: 1433
- PostgreSQL: 5432
- MongoDB: 27017
- Redis: 6379
- Memcached: 11211
查看端口命令
Windows: netstat -ano
Linux: netstat -ntlp
解决端口占用问题
Windows: netstat -ano | findstr "8080",找到占用端口的程序的PID -> 打开任务管理器 -> 设置显示PID -> 找到并结束对于程序
Linux: netstat -ntlp | grep "8080", 找到对应的程序 -> ps -ef | grep "程序名" 找到对于的pid -> kill 相应的id
三、域名及DNS
由于IP地址不容易记忆,为IP地址赋予了一个利于记忆的别名,称为域名 如,百度的ip为: 61.135.169.125,对应的域名为 www.baidu.com
如何查看域名所对应的ip?
Windows/Linux: ping www.baidu.com
DNS
DNS即域名解析系统,域名和IP地址相互映射的一个分布式数据库,提供域名转到对应ip的服务。
四、OSI七层模型
OSI即开放系统互连参考模型,一种网络架构,分为7层。
上三层---应用层,控制软件方面
- 应用层:文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
- 表示层:数据格式化,代码转换,数据加密
- 会话层:解除或建立与别的接点的联系(会话)
下四层---数据流层,用来管理硬件
- 传输层:提供端对端的接口 TCP,UDP
- 网络层:为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP
- 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU
- 物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2 OSI七层模型及各层协议
TCP及UDP协议
TCP和UDP都是传输层的协议
- TCP:传输控制协议
- UDP: 数据报文协议
TCP和UDP的区别
UDP的特点如下:
- 1. 无链接
- 2. UDP使用尽最大努力交付,不保证可靠性
- 3. UDP是面向报文的,UDP对应用层交付下来的报文,既不合并,也不拆分,而是保留这些报文的边界。应用层交给UDP多长的报文,UDP就照样发送,即一次发送
- 一个报文
- 4. UDP没有拥塞控制
- 5. UDP支持一对一、一对多、多对一和多对多的交互通信
- 6. UDP的首部开销小,只有8字节
TCP的特点:
- 1. TCP是面向连接的
- 2. 每条TCP连接只能用于两个断点,一对一
- 3. TCP提供可靠交付的服务:连接传输数据、无差错、不丢失、不重复、并且按序到达
- 4. TCP提供全双工通信
- 5. 面向字节流。TCP根据对方给出的窗口和当前网络拥塞的程度来决定一个报文应该包含多少个字节
TCP和UDP的详细对比请参考:https://blog.csdn.net/yyf_it/article/details/52206715
【python+postman接口自动化测试】(1)网络基础知识的更多相关文章
- 【Python+postman接口自动化测试】(5)抓包工具Fiddler简介
Fiddler简介 Fiddler 4.6 下载 http://www.downza.cn/soft/234727.html 为什么使用Fiddler? 可以抓到请求数据,查看Raw格式/表单格式/J ...
- 【Python+postman接口自动化测试】(3)什么是接口测试?
什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换.传递和控制管理过程,以及系统间的相互逻辑依 ...
- 【Python+postman接口自动化测试】(8)以青云客机聊天器人和图灵聊天机器人接口示范python发送get和post
以青云客机器人和图灵机器人接口示范python发送get和post 发送请求,我们这里主要使用Python的一个第三方包(需要先安装):requests. Python3自带的http.client和 ...
- 【Python+postman接口自动化测试】(7)Postman 的使用教程
Postman v6的使用 Postman: 简单方便的接口调试工具,便于分享和协作.具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档,接口监控 ...
- 【Python+postman接口自动化测试】(4)HTTP 协议
前言 HTTP:超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传输协议. HTTP协议是一种无状态协议,主要包含请求和相应两大部分. 请求(Request) get请求示范: GET h ...
- 【Python+postman接口自动化测试】(6)Chrome开发者工具
Chrome开发者工具 Elements: HTML元素面板,用于定位查看元素源代码 Console: js控制台面板,js命令行,查看前端日志 Sources: 资源面板,用于断点调试js Netw ...
- 【Python+postman接口自动化测试】(2)什么是接口?
接口的概念 接口又称API(Application Programming Interface,应用程序编程接口),是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的 ...
- python+requests接口自动化测试
转自https://my.oschina.net/u/3041656/blog/820023 原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测 ...
- python+requests接口自动化测试框架实例详解
python+requests接口自动化测试框架实例详解 转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...
随机推荐
- Postman 如何调试加密接口?
大家好,我是安果! 众所周知,Postman 是一款非常流行且易用的 API 调试工具,在接口调试或测试时经常被使用针对普通 API 接口,我们可以直接在 Postman 中输入 URL.Query ...
- Windows环境下实现WireShark抓取HTTPS
https 加密传输,Wireshark 没有设置的情况下是没有办法抓到包的 https 的数据包. 设置系统环境变量(SSLKEYLOGFILE) WireShark 设置 SSL 选项 参考文章: ...
- 判断javaScript变量是Ojbect类型还是Array类型
JavaScript是弱类型的语言,所以对变量的类型并没有强制控制类型.所以声明的变量可能会成为其他类型的变量, 所以在使用中经常会去判断变量的实际类型. 对于一般的变量我们会使用typeof来判 ...
- Spring MVC面试复习整理
Spring MVC Spring MVC 是Spring Framework 提供的 web 组件 它的实现基于 MVC 的设计模式:Model(模型层).View(视图层).Controller( ...
- Postman快速入门
Postman是一款非常流行的支持HTTP/HTTPS协议的接口调试与测试工具,其功能非常强大,易用. 1 基础知识 1.1 下载与安装 Postman的安装步骤,本例以Windows ...
- C++核心编程 3 函数提高
函数默认参数 在C++中,函数的形参列表中的形参是可以有默认值的: 语法:返回值类型 函数名 (参数 = 默认值){ } 实例: #include<iostream> using name ...
- SpringBoot之日志注解和缓存优化
SpringBoot之日志注解和缓存优化 日志注解: 关于SpringBoot中的日志处理,在之前的文章中页写过: 点击进入 这次通过注解+Aop的方式来实现日志的输出: 首先需要定义一个注解类: @ ...
- Servlet和Servlet容器
Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容, Servlet是平台独立的Java类,编写一个S ...
- Java中的函数式编程(七)流Stream的Map-Reduce操作
写在前面 Stream 的 Map-Reduce 操作是Java 函数式编程的精华所在,同时也是最为复杂的部分.但一旦你啃下了这块硬骨头,那你就真正熟悉Java的函数式编程了. 如果你有大数据的编程经 ...
- Java:创建对象小记
Java:创建对象小记 对 Java 中的创建对象的内容,做一个微不足道的小小小小记 创建对象的方式概述 使用 new 关键字:Person person = new Person(); 反射创建:使 ...