如何解决使用 Postman 调用 localhost PHP API 时丢失 $_SERVER[‘HTTP_ORIGIN’] 的问题?

如何解决使用 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 的步骤:

  1. 在 postman 中打开需要调用的 api 请求。
  2. 切换到“header”选项卡。
  3. 在名称栏中输入“origin”。
  4. 在值栏中输入 api 来源的 url,格式为:://[:]。例如:https://example.com

注意:

由于 http_origin 并非所有用户代理都会发送,因此在 php 中,需要使用 isset 或 ?? 操作符判断该头是否存在,再取用。例如:

$origin = $_server['http_origin'] ?? '';
登录后复制

立即学习PHP免费学习笔记(深入)”;

$origin = ''; if(isset($_SERVER['HTTP_ORIGIN'])){   $origin = $_SERVER['HTTP_ORIGIN']; }
登录后复制

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容