tencent cloud

Request
最后更新时间:2025-11-06 15:38:10
Request
最后更新时间: 2025-11-06 15:38:10
Request 代表 HTTP 请求对象,基于 Web APIs 标准 Request 进行设计。
说明
边缘函数中,可通过两种方式获得 Request 对象:
使用 Request 构造函数创建一个 Request 对象,用于 Fetch API 的操作。
使用 FetchEvent 对象 event.request,获得当前请求的 Request 对象。

构造函数

const request = new Request(input: string | Request, init?: RequestInit)

参数

参数名称
类型
必填
说明
input
string | Request
URL 字符串或 Request 对象。
options
Request 对象初始化配置项。

RequestInit

初始化 Request 对象的属性值选项。
属性名
类型
必填
默认值
说明
method
string
GET
请求方法 (GETPOST 等)。
headers
-
请求头部信息。
body
string |Blob | ArrayBuffer | ArrayBufferView |ReadableStream
-
请求体。
redirect
string
follow
重定向策略,支持 manualerrorfollow
maxFollow
number
12
最大可重定向次数。
version
string
HTTP/1.1
HTTP 版本,支持 HTTP/1.0HTTP/1.1HTTP/2.0
copyHeaders
boolean
-
非 Web APIs 标准选项,表示是否拷贝传入的 Request 对象的 headers。
eo
-
非 Web APIs 标准选项,用于控制边缘函数处理该请求的行为。

RequestInitEoProperties

非 Web APIs 标准选项,用于控制边缘函数处理该请求的行为。
参数名称
类型
必填
说明
resolveOverride
string
用于 fetch 请求下覆盖原有的域名解析, 支持指定域名或者 IP 地址。更多说明如下:
IP 不允许带 scheme 以及端口号。
IPv6 无需使用方括号包裹。
image
图片处理参数配置项。

ImageProperties

fetch 支持图片处理功能,参数配置项说明如下。该图片处理参数配置项与站点加速图片处理参数能力相同,您可以参考 图片处理了解站点加速内的图片处理能力。
参数名称
类型
必填
说明
format
string
将原图转换为指定格式,支持 jpggifpngbmpwebpavifjp2jxrheif
long
number
指定长边,短边未指定时,短边自适应。
short
number
指定短边,长边未指定时,长边自适应。
width
number
指定宽度,高度未指定时,高度自适应。
height
number
指定高度,宽度未指定时,宽度自适应。

实例属性

body

// request.body
readonly body: ReadableStream;
请求体,详情参见 ReadableStream

bodyUsed

// request.bodyUsed
readonly bodyUsed: boolean;
标识请求体是否已读取。

headers

// request.headers
readonly headers: Headers;
请求头部,详情参见 Headers

method

// request.method
readonly method: string;
请求方法,默认值为GET

redirect

// request.redirect
readonly redirect: string;
请求重定向策略,可取值有:followerrormanual,默认为 follow

maxFollow

// request.maxFollow
readonly maxFollow: number;
请求最大重定向次数。

url

// request.url
readonly url: string;
请求 url。

version

// request.version
readonly version: string;
请求使用的 HTTP 协议版本。

eo

// request.eo
readonly eo: IncomingRequestEoProperties;
边缘函数提供的与当前请求相关的一些其他信息,详情参见 IncomingRequestEoProperties

IncomingRequestEoProperties

客户端请求 event.request 对象包含 eo 属性,其信息如下:
属性名
类型
说明
示例值
geo
描述客户请求的位置信息。
-
clientIp
string
客户端IP地址
192.168.1.1
uuid
string
请求的唯一标识,作用同 EO-LOG-UUID
-

GeoProperties

描述客户请求的位置信息。
属性名
类型
说明
示例值
asn
number
132203
countryName
string
国家名
Singapore
countryCodeAlpha2
string
国家的 ISO-3166 alpha2 代码
SG
countryCodeAlpha3
string
国家的 ISO-3166 alpha3 代码
SGP
countryCodeNumeric
string
国家的 ISO-3166 numeric 代码
702
regionName
string
区域名
-
regionCode
string
区域代码
AA-AA
cityName
string
城市名
singapore
latitude
number
纬度
1.29027
longitude
number
经度
103.851959

实例方法

注意
获取请求体的方法,接收 HTTP body 最大字节数为 1M,超出大小会抛出 OverSize 异常。超出大小时推荐使用 request.body 流式读取,详情参见 ReadableStream

arrayBuffer

request.arrayBuffer(): Promise<ArrayBuffer>;
获取请求体,解析结果为 ArrayBuffer

blob

request.blob(): Promise<Blob>;
获取请求体,解析结果为 Blob

clone

request.clone(copyHeaders?: boolean): Request;
创建请求对象的副本。

参数

参数名称
类型
必填
说明
copyHeaders
boolean
开启复制请求头,默认值为 false,取值说明如下。
true
复制原对象的请求头。
false
引用原对象的请求头。

json

request.json(): Promise<object>;
获取请求体,解析结果为 json

text

request.text(): Promise<string>;
获取请求体,解析结果为文本字符串。

formData

request.formData(): Promise<FormData>;
获取响应体,解析结果为 FormData

参数

参数名称
类型
必填
说明
cookies
新的 Cookies 对象。

示例代码

async function handleRequest() {
const request = new Request('https://www.tencentcloud.com/');
const response = await fetch(request);
return response;
}

addEventListener('fetch', (event) => {
event.respondWith(handleRequest());
});

相关参考

本页内容是否解决了您的问题?
您也可以 联系销售 提交工单 以寻求帮助。

文档反馈