有没有办法在Azure Functions HTTP Trigger Javascript函数中获取完整的请求URL,包括查询字符串部分?
req(和context.req)参数确实包含req.url中没有查询字符串的url,以及req.query中查询字符串作为键值对。但据我所知,直接访问完整的请求网址是不可能的。仅使用基本URL和键值对象重建完整URL也是不可能的。
例如http://foo.azurewebsites.net/api/bar/baz?a=1&&&b=2&c=&d===5&e=&f=6&g
之类的内容变成了
{
url: '/bar/baz/',
query: {
a: '1',
b: '2',
c: '\n\u0001d\u0012\u0003==5',
e: '\n\u0001f\u0012\u00016',
g: '\n\u0001a\u0012\u0003\n\u00011'
}
}
构建代理,URL缩短器等需要访问完整请求URL。由于查询字符串没有正式格式,只有约定,所以能够处理所有类型的查询都很好字符串以防万一。