如何通过 <script src="***"> 标签请求的 AWS 网关在 AWS lambda 中获取完整的客户端 url

How to get client full url in AWS lambda through AWS gateway requested by <script src="***"> tag

我正在使用 html 脚本标记来 ping AWS 网关端点以触发 AWS lambda 中的函数。

在这个 lambda 函数中,我需要检索原始客户端的完整 url。 我可以获得引用数据,但无法弄清楚如何获得完整的 url.

我试图查看“事件”对象中是否有“来源”信息,但没有这样的数据。

exports.handler = async (event, context) => {
  return {
    statusCode: 200,
    body: "console.log(" +JSON.stringify(event) +","+JSON.stringify(context) +")"
  };  
}

这是 ping http api 网关的客户端代码 index.html

<html>
  <script src="http api gateway endpoint" defer async />
  <body></body>
</html>

现在如何让客户端在 lambda 函数中完整 url?

推荐人 header 中发送的信息受 security reasons. You can adjust this with a headerreferrerpolicy 属性的限制。

请注意,<script> 元素不是 空元素。结束标记是必需的。

<script src="http api gateway endpoint" defer async referrerpolicy"unsafe-url"></script>

您还可以动态生成 <script> 元素并在查询字符串中传递来自 window.location 的数据。