python+request接口测试(1)--HTTP协议

HTTP简介

http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议
python+request接口测试(1)--HTTP协议_第1张图片

URL详解

例如:浏览器打开百度官网,搜索“fiddler安装”,地址栏的地址如下所示 :https://www.baidu.com/s?wd=fiddler%E5%AE%89%E8%A3%85&rsv_spt=1&rsv_iqid=0xe145ce3200066b17&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=1&rsv_dl=tb&oq=fiddler%25E5%25AE%2589%25E8%25A3%2585&rsv_btype=t&inputT=1042&rsv_t=f3b1jwp1qiDrDpnUJhjjuds0EWFRKVR7ZDDnTFuCIJxD3HMgXzXQUm6EI9ENzrannQNz&rsv_pq=89fb52c300021e1b&rsv_sug3=20&rsv_sug1=15&rsv_sug7=100&rsv_sug2=0&rsv_sug4=5185

  1. https/http:协议类型
  2. www.baidu.com 域名
    localhost8080 本机地址+端口号
    192.168.xx.xx 8080 地址+端口号
  3. 请求的路径:域名之后?之前 /s
  4. ?:分隔符,将路径和参数分开
  5. 参数:name=value
  6. &:多个参数用&分开
    注意:如果送的参数的中文会进行转义,上面的安装就是用url编码自动转换的%E5%AE%89%E8%A3%85
协议类型 http/https
域名/地址 www.baidu.com
path 请求路径,/s
? 分隔符,将路径和参数分开
参数 name=value
& 多个参数用&分开

request

根据HTTP标准,HTTP请求可以使用多种请求方法。
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
GET 请求指定的页面信息,并返回实体主体。
HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 PUT 从客户端向服务器传送的数据取代指定的文档的内容。 DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断。

最常用的是get、post请求,get没有请求body,post有body(有些也没有)

getpython+request接口测试(1)--HTTP协议_第2张图片
post
python+request接口测试(1)--HTTP协议_第3张图片
request的组成
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。

  1. 请求行
  2. 请求头
  3. 空一行
  4. body

python+request接口测试(1)--HTTP协议_第4张图片
请求头

python+request接口测试(1)--HTTP协议_第5张图片
client
Accept :浏览器可接受的媒体类型
Accept-Language:语言
Accept-Encoding:编码格式
User-Agent:客户类型
cookies

请求行

请求参数都在请求行里
python+request接口测试(1)--HTTP协议_第6张图片
post 请求body
python+request接口测试(1)--HTTP协议_第7张图片
Post的body常见的数据类型有四种
1.第一种:application/json: {“input1”:“xxx”,“input2”:“ooo”,“remember”:false}
2.第二种:application/x-www-form-urlencoded:input1=xxx&input2=ooo&remember=false
3.第三种:multipart/form-data:这一种是表单格式的
4.第四种:text/xml

examples.getStateName

你可能感兴趣的:(接口测试)