如何使用 AWS Lambda 获取网页以及 return body 和 headers
How to use AWS Lambda to fetch a webpage and return body and headers
我正在尝试使用 Lambda 函数获取网页,然后 return 内容和响应 headers。以下是我的代码,当由网关 API 触发时,它总是 return "Internal server error",我对如何构建 response
object 感到困惑,它似乎没有有任何关于它的文件。非常感谢任何命中!
const fetch = require('node-fetch');
exports.handler = async (event) => {
// TODO implement
let r = await fetch('http://www.google.com');
let buffer = await r.buffer();
const response = {
statusCode: r.status,
body: buffer,
header: r.headers
};
return response;
};
我认为您的问题是您使用的是 response.buffer()
方法。你应该在这里使用的是 response.text()
方法。它将 return 以纯文本形式响应 body。由于您从响应中获得的 headers 已经包含 Content-Type: text/html
header,您应该能够 return 一个 html 文档。
我正在尝试使用 Lambda 函数获取网页,然后 return 内容和响应 headers。以下是我的代码,当由网关 API 触发时,它总是 return "Internal server error",我对如何构建 response
object 感到困惑,它似乎没有有任何关于它的文件。非常感谢任何命中!
const fetch = require('node-fetch');
exports.handler = async (event) => {
// TODO implement
let r = await fetch('http://www.google.com');
let buffer = await r.buffer();
const response = {
statusCode: r.status,
body: buffer,
header: r.headers
};
return response;
};
我认为您的问题是您使用的是 response.buffer()
方法。你应该在这里使用的是 response.text()
方法。它将 return 以纯文本形式响应 body。由于您从响应中获得的 headers 已经包含 Content-Type: text/html
header,您应该能够 return 一个 html 文档。