Ibm mobilefirst Worklight 6.1-如何在适配器级别设置请求标头中的x转发Ip地址

Ibm mobilefirst Worklight 6.1-如何在适配器级别设置请求标头中的x转发Ip地址,ibm-mobilefirst,worklight-adapters,Ibm Mobilefirst,Worklight Adapters,我正在使用worklight 6.1,在请求时在适配器级别获取所需的x转发ip地址时遇到了一些问题。所以现在我从客户端在适配器上发送客户端ip地址,如下所示 WL.Device.getNetworkInfo(function (networkInfo) { console.log(networkInfo.ipAddress); ipadd = networkInfo.ipAddress;

我正在使用worklight 6.1,在请求时在适配器级别获取所需的x转发ip地址时遇到了一些问题。所以现在我从客户端在适配器上发送客户端ip地址,如下所示

WL.Device.getNetworkInfo(function (networkInfo) {
                    console.log(networkInfo.ipAddress); 
                    ipadd = networkInfo.ipAddress;
                    reqParams["fldAppipAddress"] = networkInfo.ipAddress;
                });
                var invocationData = {
                        adapter : "Login",
                        procedure : "Login",
                        parameters : [id,reqParams,ipadd],
                        compressResponse : true
                };
在适配器端,我像这样设置标题

var request={
             method:'POST',
             returnedContentType:'xml',
             path:serverPathIs,
             headers:{"User-Agent":"","App-Version":"1.6","X-Forwarded-For":Ipaddress},
             cookies: {"JSESSIONID":cookiestr},
             parameters:jsonstr,
     };
即使这样做,我也不会得到x转发ip,请建议正确的方法

如何在http请求的标头中设置x-forwarded-for

@安东

function GetAPICal(fldjsessionid,jsonstr,pass,uid,Ipaddress){
  WL.Logger.error(jsonstr);
  WL.Logger.info(jsonstr);
    //newjson={"fldPassword":enc(pass)};

    var output = {};
    output = jsonConcat(jsonstr, newjson);
     serverPathIs=getServletPathInfo();
     if(fldjsessionid){
         cookieSplit = fldjsessionid.split('!');
        cookiestr = cookieSplit[0]+"!"+cookieSplit[1];
     }
     else{
         cookiestr="123";
     }
     var request={
             method:'POST',
             returnedContentType:'xml',
             path:serverPathIs,
             headers:{"User-Agent":"","App-Version":"1.6","X-Forwarded-For":Ipaddress},
             cookies: {"JSESSIONID":cookiestr},
             parameters:output,
     };

     var req = WL.Server.getClientRequest();




     var response = WL.Server.invokeHttp(request);


     return response;

}

你到底想达到什么目的?从客户端->适配器请求中获取x-forwarded-for标头,并在适配器->后端请求中使用它?

无论我们从适配器向后端发出什么请求,我们都希望标头x-forwarded ip在那里就是它。您希望该标头的值是什么?标头:{x-forwarded-for:Ipaddress}这是我从客户端发送的IP地址,所以我希望它作为请求。你能粘贴完整的登录功能代码吗?看起来您从客户端发送了两次ipaddress,我看不出任何原因,您添加了GetAPICal函数,并且您的客户端调用了Login函数。如果不看到拼图的所有部分,就不可能调试流。你能添加所有相关的功能吗?一般来说,您的代码看起来是正确的,它应该将X-Forwarded-For头添加到适配器->后端请求中。你能详细说明到底是什么问题吗?没有添加标题?标题值错误?