Talend中tREST/tRESTClient组件Cookie提取与传递实现方案
针对POST登录接口调用后提取响应Cookie、并在后续请求中传递的需求,以下是基于tRESTClient的完整实现步骤:
- tRowGenerator_1:仅用于触发tMap_1执行,无实际业务作用
- tMap_1:核心环节,构建POST请求体内容,将请求体赋值给tRESTClient_1的
string变量,用于传递请求体参数 - tRESTClient_1:配置目标登录接口的URL,设置请求方法为POST,通过已定义的
string变量传入请求体,执行请求获取认证响应 - 解析响应Cookie并存储:在tJava组件中执行以下Java代码,从响应头中提取指定Cookie项并存入全局变量
cookie:
String str[] = ((java.util.Map)globalMap.get("tRESTClient_1_HEADERS")).get("Set-Cookie").toString().replace("[","").replace("]","").replace(",",";").split("; "); String out = ""; for(int index = 0; index < str.length; index++){ if(str[index].startsWith("JSESSIONID=") || str[index].startsWith("CSRFToken=") || str[index].startsWith("SecurityTokenURL=")){ out = out + str[index] + "; "; } }; globalMap.put("cookie", out);
- 后续请求传递Cookie:在后续的REST请求组件中,添加
Cookie请求头,将其值设置为全局变量cookie,即可携带认证Cookie发起请求
内容的提问来源于stack exchange,提问作者Douglas Korinke
相关产品推荐
相关产品推荐

