用 postman 打 localhost php 的 api 没有 $_SERVER['HTTP_ORIGIN'] 的问题?
困扰我几天了
我用 postman 打 localhost php 的 api ,他会提示找不到 $_SERVER['HTTP_ORIGIN']
Notice: Undefined index: HTTP_ORIGIN
但如果是用 vue localhost 打是可以的
以及打服务器上的也同样是可以
网上好像没有人讨论这件事
postman 有办法模拟 HTTP_ORIGIN 让php抓的到吗?
回答:
Origin
这 Header 头是浏览器 CORS 中,用来区分发起源的,即同源策略中的“源”的概念。因为 CORS 是用户代理(浏览器)的中的概念,在其他环境中并不受此限制,所以就可以不发送此 Header。
POSTMAN 如何模拟?
在 POSTMAN 的 Header TAB 的 name 中填入 Origin ,value 中填入 <schema>://<host>[:<port=80>]
格式的参数即可,例如 https://example.com
。
注意
因为次 Header 并非所有用户代理都会发送,所以你应该在 PHP 中适用 isset 或者 ??
操作符判断其是否存在,再取用,比如。
$origin = $_SERVER['HTTP_ORIGIN'] ?? '';// TODO
或者
$origin = '';if(isset($_SERVER['HTTP_ORIGIN'])){
$origin = $_SERVER['HTTP_ORIGIN'];
}
// TODO
以上是 用 postman 打 localhost php 的 api 没有 $_SERVER['HTTP_ORIGIN'] 的问题? 的全部内容, 来源链接: utcz.com/p/936739.html