Postman 中如何进行跨域(CORS)测试?图文教程

跨域问题源于浏览器同源策略,Postman 提供了模拟 CORS 请求的便捷方法,通过设置 Origin 字段和测试跨域请求,可检查响应头中的Access-Control-Allow-Origin等信息。

用 Apifox,节省研发团队的每一分钟

Postman 中如何进行跨域(CORS)测试?图文教程

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

在使用 Postman 进行 API 测试时,通常不会遇到跨域问题,因为 Postman 是一个独立的客户端应用程序,不同于在浏览器中运行的 JavaScript 代码,它没有同源策略(SOP)的限制。跨域资源共享(CORS)限制是由现代 web 浏览器实施的安全功能,其目的是防止恶意网站的不当请求。


跨域问题的本质源自于浏览器的同源策略,这里是发生跨域请求时浏览器和服务器交互的简要过程:

  1. 浏览器会向请求头中添加 Origin 和 Host 字段,表示请求的来源站点和目标站点。
  2. 收到请求后,服务器会根据 Origin 和 Host 字段来判断请求是否存在跨域。
  3. 如果服务器允许跨域,它会在 HTTP 响应头中添加 Access-Control-Allow-Origin 字段。
  4. 如果不允许跨域,这个字段就不会被添加。


虽然在 Postman 中不会遇到跨域问题,但 Postman 中还是提供了一种便捷的方法来模拟和测试 CORS 请求,我们来看看它是怎么实现的。

1.Postman 新建请求

打开 Postman ,新建一个 HTTP 请求,然后选择请求方式(post、get 等),并填写请求路径、请求体等信息。

Postman 进行跨域(CORS)测试

2.设置跨域字段

点击【Headers】选项,在里面填写 Origin 字段,然后填写需要跨域的地址,比如localhost:8080,这个字段就是模拟了浏览器在跨源请求期间发送的 Origin 标头。

Postman 进行跨域(CORS)测试

3.测试跨域请求

设置完毕后,点击 Postman 界面中的“发送”按钮即可发送请求并查看结果。检查响应标头中是否有与 CORS 相关的信息,例如“Access-Control-Allow-Origin”。确保后端服务器正确配置 CORS 以允许来自前端域的请求,无论跨域请求是否成功,返回的状态码都是 200,所以要确认跨域是否成功,需要检查响应头。
如果跨域请求不成功,响应将不包含与跨域相关的标头:

Postman 进行跨域(CORS)测试

对于成功的跨域请求,响应将包含与跨域相关的标头:

Postman 进行跨域(CORS)测试

比 Postman 更好用的工具:Apifox


Apifox 中进行跨域(CORS)测试更加方便快捷。


打开 Apifox 新建一个 HTTP 项目,然后在项目中新建一个接口,选择相应的请求方法,定义请求体(Body)的数据结构并保存接口。点击【Headers】选项,在里面填写 Origin 字段,然后填写需要跨域的地址。

Postman 进行跨域(CORS)测试

设置完毕后保存,然后来到运行页,点击【发送】按钮发起请求,请求响应信息会在下面的【header】里显示,如果跨域成功,则会显示Access-Control-Allow-Origin等信息。

立即体验 Apifox
Postman 进行跨域(CORS)测试

总结


在使用 Postman 进行 API 测试时,通常无跨域问题,因其为独立客户端应用,不受同源策略(SOP)限制。跨域问题源于浏览器同源策略,Postman 提供了模拟 CORS 请求的便捷方法,通过设置 Origin 字段和测试跨域请求,可检查响应头中的Access-Control-Allow-Origin等信息。推荐使用 Apifox,更便捷进行跨域测试,跨域成功的响应会包含相关标头,失败则不含,确保后端正确配置 CORS 以允许前端域请求。

Apifox

知识扩展: