截获具有特定标头的请求
默认情况下,开发代理会截获与devproxyrc.json文件中配置的 URL 匹配的所有请求。 如果只想截获特定请求(例如特定组件发出的请求),则可以将开发代理配置为截获具有特定标头的请求。
若要截获具有特定标头的请求,请在 devproxyrc.json
文件中添加该 filterByHeaders
属性。 在 filterByHeaders
属性中,指定要用于筛选请求的标头。 对于每个标头,请指定开发代理应包含的值以截获请求。 如果将值留空,则无论其值如何,Dev Proxy 都会截获包含指定标头的请求。
示例:截获具有特定标头和值的请求
以下示例演示如何配置开发代理以截获包含 x-app
包含值 contoso-intranet
标头的请求:
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.21.0/rc.schema.json",
"plugins": [
// [...] trimmed for brevity
],
"filterByHeaders": [
{
"name": "x-app",
"value": "contoso-intranet"
}
]
}
使用此配置,开发代理会截获包含 x-app
具有值 contoso-intranet
标头的请求,例如:
GET https://api.contoso.com/customers
x-app: contoso-intranet
开发代理还会截获部分匹配指定值的请求,例如:
GET https://api.contoso.com/customers
x-app: contoso-intranet-search
开发代理不会截获以下请求,因为标头的值 x-app
不包含 contoso-intranet
:
GET https://api.contoso.com/customers
x-app: contoso-public
部分匹配很方便,允许截获具有随时间变化的值(例如组件或 SDK 版本)的请求。
示例:无论值如何,都截获具有特定标头的请求
若要截获包含特定标头的请求,而不考虑其值,请将值留空:
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
// [...] trimmed for brevity
],
"filterByHeaders": [
{
"name": "x-contoso",
"value": ""
}
]
}
使用此配置,开发代理会截获包含 x-contoso
标头的请求,而不考虑其值:
GET https://api.contoso.com/customers
x-contoso: api-sdk v1.0
或:
GET https://api.contoso.com/customers
x-contoso: intranet
开发代理不会截获以下请求,因为它没有 x-contoso
标头:
GET https://api.contoso.com/customers
x-app: contoso-public