2014-08-29 120 views
0

當使用WL.Server.invokeHttp調用後端服務時,IBM Worklight HTTP適配器(6.1版)默認發送用戶代理標頭嗎?它的價值是什麼?假設答案是否定的,我們可以添加一個嗎?IBM Worklight HTTP適配器是否發送/支持發送用戶代理標頭?

+0

Andrew,如果我的答案在下面幫助您解決了您的問題,請將其標記爲已答覆。 – 2014-09-06 15:08:28

+0

伊丹,謝謝,但我希望的是實際的標題值本身:)一旦我有機會嘗試這一點,我會添加作爲答案。 – 2014-09-08 08:44:10

回答

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); 

至於它的價值,它可能不會對你有任何價值。這只是標準的一部分。
在這裏看到更多(或谷歌的其他信息):HTTP request header: UserAgent variable

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);