如何解决使用 Postman 调用 localhost PHP API 时丢失 $_SERVER[\'HTTP_ORIGIN\'] 的问题?
使用 postman 打 localhost php api 时丢失 $_server['http_origin'] 的解决方法
“origin”是浏览器 cors 中用来区分来源的 header 头。该头仅在浏览器环境中使用,在其他环境(如 php)中并不受 cors 限制。因此,在 postman 中调用 localhost php api 时,可能不会发送此头,导致 php 脚本中 $_server['http_origin'] 无法获取。
在 postman 中模拟 http_origin
以下是在 postman 中模拟 http_origin 的步骤:
- 在 postman 中打开需要调用的 api 请求。
- 切换到“header”选项卡。
- 在名称栏中输入“origin”。
- 在值栏中输入 api 来源的 url,格式为:
:// [: ]。例如:https://example.com
注意:
由于 http_origin 并非所有用户代理都会发送,因此在 php 中,需要使用 isset 或 ?? 操作符判断该头是否存在,再取用。例如:
$origin = $_server['http_origin'] ?? '';
或
立即学习“PHP免费学习笔记(深入)”;
$origin = ''; if(isset($_SERVER['HTTP_ORIGIN'])){ $origin = $_SERVER['HTTP_ORIGIN']; }
以上就是如何解决使用 Postman 调用 localhost PHP API 时丢失 $_SERVER[\'HTTP_ORIGIN\'] 的问题?的详细内容,更多请关注其它相关文章!