【问题标题】:Does the IBM Worklight HTTP Adapter send/support sending a User-Agent header?IBM Worklight HTTP Adapter 是否发送/支持发送 User-Agent 标头?
【发布时间】:2014-08-29 13:30:18
【问题描述】:

在使用WL.Server.invokeHttp 调用后端服务时,IBM Worklight HTTP 适配器(在 6.1 中)是否默认发送 User-Agent 标头?它的价值是什么?假设答案是否定的,我们可以加一个吗?

【问题讨论】:

  • 安德鲁,如果我下面的回答帮助您解决了您的问题,请将其标记为已回答。
  • Idan,谢谢,但我希望的是实际的标头值本身 :) 一旦我有机会尝试这个,我会添加它作为答案。

标签: http-headers ibm-mobilefirst user-agent


【解决方案1】:

在适配器中,您可以像这样获取客户端发送的用户代理:

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

【讨论】:

    【解决方案2】:

    当您调用适配器过程时,您可以使用 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      • 1970-01-01
      相关资源
      最近更新 更多