IBM Worklight HTTP适配器是否发送/支持发送用户代理标头?
问题描述:
当使用WL.Server.invokeHttp
调用后端服务时,IBM Worklight HTTP适配器(6.1版)默认发送用户代理标头吗?它的价值是什么?假设答案是否定的,我们可以添加一个吗?IBM Worklight HTTP适配器是否发送/支持发送用户代理标头?
答
当您调用适配器过程时,可以使用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);
至于它的价值,它可能不会对你有任何价值。这只是标准的一部分。
在这里看到更多(或谷歌的其他信息):HTTP request header: UserAgent variable
答
在适配器就可以得到用户代理客户端发送这样的:
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);
Andrew,如果我的答案在下面帮助您解决了您的问题,请将其标记为已答复。 – 2014-09-06 15:08:28
伊丹,谢谢,但我希望的是实际的标题值本身:)一旦我有机会尝试这一点,我会添加作为答案。 – 2014-09-08 08:44:10