HTTP接口测试

article/2025/10/12 14:30:00

目录

一、什么是HTTP

1、定义

2、HTTP工作架构

3、结构(取自菜鸟网站)

    3.1 客户端请求消息

    3.2 服务端请求消息    

二、如何进行HTTP接口测试

三、HTTP常用请求方式

1、GET请求

1.1 不带参数的GET请求

1.2 带参数的GET请求

2、POST请求

2.1 不带参数的POST请求

2.2 带参数的POST请求

3、GET与POST区别

四、HTTP常见工具


一、什么是HTTP

1、定义

    大家都知道程序=算法+数据结构,CPU调用程序运行时,程序就转变成了进程实体。如果想要两台计算机上的进程相互通信,就需要通过网络实现。而两台计算机之间通信的规则,则是由通信协议决定的。

    根据OSI七层模型,每一个层级都有与之对应的通信协议。OSI七层协议模型从上到下分为应用层、表现层、会话层、传输层、网络层、链路层、物理层,而HTTP就是应用层的一种协议。

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)[取自菜鸟网站]。

2、HTTP工作架构

    HTTP是基于客户端-服务端架构的工作方式:

    客户端通过HTTP协议,使用URL请求服务端接口,获取响应数据,再渲染在前端页面呈现给用户。

3、结构(取自菜鸟网站)

    3.1 客户端请求消息

    客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。

    3.2 服务端请求消息    

    HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

二、如何进行HTTP接口测试

    HTTP接口测试过程

三、HTTP常用请求方式

    HTTP的请求方式有GET、POST、HEAD、PUT、DELETE、CONNECT、OPTIONS、TRACE、PATCH,比较常用的请求方式是POST和GET。

    HtTTP请求模拟网址:https://httpbin.org/#/HTTP_Methods/get_get

1、GET请求

1.1 不带参数的GET请求

不带参数的GET请求

curl -X GET "https://httpbin.org/get" -H "accept: application/json" -vv 2>&1

请求报文:

> GET /get HTTP/2  #请求方法 url HTTP协议版本

> Host: httpbin.org   #请求头

> User-Agent: curl/7.64.1    #请求头

> accept: application/json    #请求头

>

响应报文:

< HTTP/2 200  #HTTP协议版本 状态码

< date: Wed, 09 Jun 2021 09:06:30 GMT #响应头

< content-type: application/json  #响应头

< content-length: 270  #响应头

< server: gunicorn/19.9.0  #响应头

< access-control-allow-origin: *  #响应头

< access-control-allow-credentials: true  #响应头

<

{   #响应体

  "args": {},

  "headers": {

    "Accept": "application/json",

    "Host": "httpbin.org",

    "User-Agent": "curl/7.64.1",

    "X-Amzn-Trace-Id": "Root=1-60c08496-0d60db887fe14e1519d3e7a8"

  },

  "origin": "183.128.110.251",

  "url": "https://httpbin.org/get"

}

1.2 带参数的GET请求

curl 'https://xueqiu.com/query/v1/search/web/stock.json?q=sogo&size=3&page=1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'  -H 'Cookie: xq_a_token=ac3c2b00373aafa819dd63230fff55140e7d0bb4' -vv  2>&1 | less

请求报文:

> GET /query/v1/search/web/stock.json?q=sogo&size=3&page=1 HTTP/1.1  #请求方法 url+参数 HTTP协议版本

> Host: xueqiu.com   #请求头

> Accept: */*  #请求头

> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36  #请求头

> Cookie: xq_a_token=ac3c2b00373aafa819dd63230fff55140e7d0bb4  #请求头

>

响应报文

< HTTP/1.1 200

< Date: Wed, 09 Jun 2021 09:19:18 GMT

< Content-Type: application/json;charset=UTF-8

< Content-Length: 177

< Connection: keep-alive

< Set-Cookie: acw_tc=2760820616232303589484316eacbe2080d583559daaad4156c4be5a59e1a2;path=/;HttpOnly;Max-Age=1800

< Server: openresty

< Cache-Control: private, no-store, no-cache, must-revalidate, max-age=0

< P3P: "CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT""

< Strict-Transport-Security: max-age=31536000

<

* Connection #0 to host xueqiu.com left intact

{"count":1,"list":[{"code":"SOGO","current":"8.35","name":"搜狗","percentage":0.0,"type":0}],"maxPage":1,"page":1,"query_id":1402555897972219904,"recommend_cards":[],"size":1}*

2、POST请求

2.1 不带参数的POST请求

curl -X POST "https://httpbin.org/post" -H "accept: application/json" -vv 2>&1

请求报文:

> POST /post HTTP/2  #请求方法 url HTTP协议版本

> Host: httpbin.org    #请求头

> User-Agent: curl/7.64.1    #请求头

> accept: application/json    #请求头

>

响应报文:

< HTTP/2 200

< date: Wed, 09 Jun 2021 09:22:28 GMT

< content-type: application/json

< content-length: 334

< server: gunicorn/19.9.0

< access-control-allow-origin: *

< access-control-allow-credentials: true

<

{

  "args": {},

  "data": "",

  "files": {},

  "form": {},

  "headers": {

    "Accept": "application/json",

    "Host": "httpbin.org",

    "User-Agent": "curl/7.64.1",

    "X-Amzn-Trace-Id": "Root=1-60c08854-4d72ce5d1cc3823540988383"

  },

  "json": null,

  "origin": "183.128.110.251",

  "url": "https://httpbin.org/post"

}

2.2 带参数的POST请求

curl 'https://xueqiu.com/upload/web?category=web_behavior'   -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36' -H 'Content-Type: text/plain'  -H 'Cookie: xq_a_token=ac3c2b00373aafa819dd63230fff55140e7d0bb4'  --data-raw '-1|1623230223144|mac|1440x900|31||1|{"cookiesu":"361623215165261","ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36","referurl":"https://xueqiu.com/","url":"https://xueqiu.com/k?q=sogo","type":"搜索输入"}'  -vv

请求报文:

> POST /upload/web?category=web_behavior HTTP/1.1 #请求方法 url HTTP协议版本

> Host: xueqiu.com #请求头

> Accept: */* #请求头

> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 #请求头

> Content-Type: text/plain #请求头

> Cookie: xq_a_token=ac3c2b00373aafa819dd63230fff55140e7d0bb4 #请求头

> Content-Length: 286 #请求头

>

* upload completely sent off: 286 out of 286 bytes #请求数据

响应报文:

< HTTP/1.1 200 OK

< Date: Wed, 09 Jun 2021 09:27:13 GMT

< Content-Type: text/plain;charset=UTF-8

< Content-Length: 30

< Connection: keep-alive

< Set-Cookie: acw_tc=2760820216232308330166792e8048e541cca05b87bc442107d9d1e9842f8c;path=/;HttpOnly;Max-Age=1800

< Server: openresty

< Cache-Control: private, no-store, no-cache, must-revalidate, max-age=0

< P3P: "CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT""

< Strict-Transport-Security: max-age=31536000

<

* Connection #0 to host xueqiu.com left intact

{"isSuccess":true,"retCode":1}*

3、GET与POST区别

    从1.2中报文来看,主要的不同有:请求方法不一致,一个是GET,一个是POST;请求参数的位置不一致:GET请求的参数是连接在URL中,增加了篡改的可能性,而POST参数放在请求体中,因此POST请求相对GET请求来说较为安全。

四、HTTP常见工具

    比较常用的测试工具是postman、jmeter等,比较常用的协议分析工具有fiddler、tcpdump+wireshark、Charles等。

 


http://chatgpt.dhexx.cn/article/5W1D3eFB.shtml

相关文章

CAD图纸如何从低版本转换成高版本

我今天在绘制CAD图纸的时候突然发现&#xff0c;换个电脑后绘制好的CAD图纸打不开了。之后分析才发现是之前绘图的时候&#xff0c;保存的CAD图纸版本过低。这就需要把CAD图纸从低版本转换成高版本。今天小编就在这里给大家演示一下。 1.在电脑浏览器里搜索 xun jie CAD&#…

免费在线转换,CAD转换成PDF

为了提高我们绘图工作的效率&#xff0c;经常需要转换CAD文件的版本格式&#xff0c;例如把CAD转换成PDF格式。有没有一种不需要安装转换软件就可以快速操作方法呢&#xff1f;今天小编给大家介绍一种行之有效的方法&#xff0c;在线CAD转换器就可以帮我们快速完成这一操作。 …

cad转换器高版本转低版本怎么转?

CAD图纸由于版本过高导致无法查看和传输&#xff0c;是CAD制图工作中的小伙伴们都会遇到的问题之一。这一问题虽然不是什么大问题&#xff0c;但是也非 常影响我们正常的制图工作&#xff0c;该如何解决呢&#xff1f;今天我们就一起讨论一下&#xff0c;cad转换器高版本转低版…

cad批量转换低版本如何实现?

在CAD制图工作中&#xff0c;我们可能会遇到一些比较麻烦的问题。其中就有CAD图纸由于版本过高导致无法打开查看的问题&#xff0c;而且有时候CAD图纸过多&#xff0c;若是每 一张单独查看也会很麻烦。这时候该如何解决呢&#xff1f;cad批量转换低版本如何实现&#xff1f;今天…

怎么把高版本的CAD文件转换成低版本的

我们在打开CAD文件的时候有经常出现打不开的现象&#xff0c;这时候软件就会提示CAD版本过高&#xff0c;这时候就需要将CAD文件转换低版本了&#xff0c;那么怎么把高版本的CAD文件转换成低版本的呢&#xff1f; 这里小编就用迅捷PDF在线转换器&#xff0c;教大家CAD版本转换。…

CAD版本转换怎么操作?几个步骤教会你

CAD是建筑设计行业经常使用的图纸文件&#xff0c;但是有些图纸的格式可能会因为版本太高或者太低而打不开。不知道小伙伴们遇到这种情况是不是也束手无策呢&#xff1f;其实我们只需要使用一些软件来转换CAD版本即可。那么小伙伴们知道CAD版本转换怎么操作吗&#xff1f;还不了…

CAD版本转换怎么操作?这些方法了解了吗

目前市场上有很多CAD版本。每个人的使用习惯和计算机配置都不一样。不同版本的CAD软件生成不同的CAD文件。虽然制作CAD文件的操作方法相似&#xff0c;但新旧版本存在兼容性问题。高版本的CAD软件可以看到低版本软件制作的设计图纸&#xff0c;但低版本工具看不到高版本工具制作…

cad在线转换低版本_资源分享/CAD版本转换器

我们收集你的掌上玩物&#xff0c;我们COPY YOU。 YOU知唔知 CAD转换器 ◎消息来源&#xff1a;网络资源平台 文件预览 使用说明 1.将高版本文件拖动到转换器界面中打开 2.文件——另存问——类型选择低版本CAD格式&#xff0c;保存后的低版本文件就可以直接使用低版本CAD打…

CAD怎么转换版本?两个办法解决

CAD怎么转换版本&#xff1f;CAD文件相信建筑设计等相关行业的小伙伴都不会陌生&#xff0c;经常跟它打交道。它本身有不少版本&#xff0c;有时候同事发来的文件版本和我们的软件版本不同导致不兼容&#xff0c;这时候要进行处理就会比较麻烦&#xff0c;有没有什么方法能快速…

CAD如何免费转换PDF格式

有的时候,我们需要将我们的CAD文件转出PDF格式的文件发给客户,以便客户打开查看&#xff0c;那么我们如何将CAD文件转换为PDF格式&#xff1f;今天和大家分享一种简单的操作方法&#xff0c;并且是免费试用的。 1&#xff0c;首先打开百度首页&#xff0c;用“Speedpdf”作为关…

高版本CAD如何降低版本?来看这种降低版本方法

CAD文件的版本过高&#xff0c;我们该如何将它降低呢&#xff1f;如果有的小伙伴工作是关于CAD绘图方面的&#xff0c;就会经常使用CAD编辑软件&#xff0c;有时候在打开CAD文件时&#xff0c;会发现文件打不开&#xff0c;原因可能是文件本身受到损害&#xff0c;还有可能就是…

CAD版本怎么转换?试试这种方法

相信很多从事CAD绘图的小伙伴们对CAD版本转换应该不陌生吧&#xff0c;对于CAD版本通常有两种问题&#xff0c;一是CAD高版本可以打开低版本的图纸&#xff0c;相反低版本不能打开高版本图纸&#xff1b;二是高版本图纸转换为低版本可以直接在工具中另存为文件&#xff0c;就可…

怎么把高版本CAD转换成低版本?CAD版本转换方法分享

某些情况下&#xff0c;较新的CAD软件版本可能不被较旧的CAD软件版本所支持。如果你需要与使用较旧版本CAD的人进行交流、共享或协作&#xff0c;将高版本CAD转换为低版本可以确保文件能够顺利打开和编辑。那么问题来了&#xff0c;怎么将高版本CAD转换成低版本呢&#xff1f;教…

cad高版本怎么转换成低版本?这个办法挺实用

CAD软件是工程师、建筑师和设计师等专业人员最常用的工具之一。随着时间的推移&#xff0c;CAD软件的版本也在不断更新。但是&#xff0c;有时候你可能会遇到需要将CAD高版本转换为低版本的情况&#xff0c;比如在与其他人员合作时&#xff0c;他们使用的CAD软件版本比你的低。…

CAD版本转换怎么转?简单几步帮你解决

从事CAD相关行业的小伙伴每天都会接触到很多CAD图纸文件&#xff0c;有些图纸的格式会因为版本太低或者太高导致文件打不开。需要使用CAD版本转换器来转换图纸的版本。有的刚接触这一行的小伙伴就不是很明白怎么转换了&#xff0c;那么CAD版本转换怎么转呢&#xff1f;下面就和…

cad哪个版本最好用?转换软件说明

cad哪个版本最好用&#xff1f;自上世纪问世以来&#xff0c;CAD早已作为制图工作的代表性工具&#xff0c;设计等相关领域的工作者们基本都离不开它。其发展到现在&#xff0c;更新迭代了很多版本&#xff0c;第一次使用可能不清楚哪一版更好用&#xff0c;个人比较推荐的是06…

CAD怎么转换版本?转换器轻松转换

在工程制图和设计过程中&#xff0c;不同的CAD版本可能会导致文件不兼容的问题。有时候&#xff0c;我们需要将CAD文件从一个版本转换为另一个版本&#xff0c;以便进行进一步编辑或与其他人共享文件。这时候&#xff0c;CAD转换器就是一个非常实用的工具&#xff0c;它能够帮助…

cad版本怎么在线转换?软件操作更高效

如果你需要将一个CAD文件从一个版本转换为另一个版本&#xff0c;但是你没有安装需要的CAD软件&#xff0c;你可以尝试在线CAD转换。以下是一些步骤来帮助你在线转换CAD文件。 一些可以在线转换CAD文件版本的工具包括 CAD转换器&#xff1a;支持在线一键转换&#xff0c; 多种…

CAD文件版本如何转换?分享两种版本转换方法

CAD文件的版本怎么转换呢&#xff1f;大家在处理CAD文件的时候肯定会遇到文件打不开的现象&#xff0c;出现这种状况很可能就是CAD文件的版本与软件不匹配&#xff0c;有一种很好的解决方法就是转换CAD文件的版本&#xff0c;该如何转换呢&#xff1f;今天教大家两个好用的转换…

怎么转换CAD文件的版本?分享两种转换版本的方法

CAD文件的版本怎么转换呢&#xff1f;大家如果有使用CAD编辑软件的小伙伴肯定遇到过CAD文件打不开的现象&#xff0c;出现这种情况如果排除了文件自身收到损坏之外&#xff0c;那么大概率就是CAD文件的版本问题了&#xff0c;遇到低版本或高版本的文件就会容易出现这样的问题&a…