在使用WL.Server.invokeHttp
调用后端服务时,IBM Worklight HTTP适配器(在6.1中)是否默认发送 User-Agent 标头?它的价值是什么?假设答案是否定的,我们可以加一个吗?
答案 0 :(得分:3)
在适配器中,您可以获取客户端发送的用户代理,如下所示:
var clientRequest = WL.Server.getClientRequest();
var userAgent = clientRequest.getHeader("User-Agent");
如果您希望将此标头传递给后端服务:
var input = {
method :'get',
path : 'your/path',
headers: {
"User-Agent" : userAgent,
}
};
var result=WL.Server.invokeHttp(input);
答案 1 :(得分:1)
调用适配器过程时,可以使用Wireshark等工具检查网络。在那里,您将看到发送了User-Agent标头。此标头由底层Apache HTTPClient自动添加。
也就是说,您可以添加自己的标题。 Per the user documentation for WL.Server.invokeHttp
:
Parameters:
options - The invokeHttp function accepts the following JSON block of parameters:
...
...
...
headers. Optional. Defines the headers for the HTTP request.
例如:
var input = {
method : 'get',
headers: {foo: 'bar'},
path : '/mypath'
};
return WL.Server.invokeHttp(input);
至于它的价值,它可能没有任何价值。这只是标准的一部分 有关详细信息,请参阅此处(或google了解更多信息):HTTP request header: UserAgent variable