我见过类似的问题,但不一样。 我有一个发送 get 和 post 请求的 java 应用程序。现在的问题是请求需要有一个 CSRTF TOKEN,我无法从 ReasteastClient.getcookies 方法中获取该 TOKEN,因此我编写了一段 JavaScript 代码来获取此 token 。我正在尝试从我的 java 应用程序生成 JavaScript 代码并获取函数响应。

有什么办法可以做到吗? 谢谢大家。

请您参考如下方法:

要在 Java 中生成 JavaScript 代码,您需要执行以下步骤

1.创建 JavaScript 文件并添加检索 CSRTF TOKEN 的函数

通过添加功能:

$.get('CSRFTokenManager.do', function(data) { 
   var send = XMLHttpRequest.prototype.send, 
   token =data; 
   document.cookie='X-CSRF-Token='+token; 
   XMLHttpRequest.prototype.send = function(data) { 
       this.setRequestHeader('X-CSRF-Token',token); 
       //dojo.cookie("X-CSRF-Token", ""); 
 
       return send.apply(this, arguments); 
   }; 
}); 

2.将其保存为 Jsfunctions.js 并在您的 Java 代码中使用它,如下所示。

ScriptEngineManager manager = new ScriptEngineManager(); 
ScriptEngine engine = manager.getEngineByName("JavaScript"); 
// read script file 
engine.eval(Files.newBufferedReader(Paths.get("C:/Scripts/Jsfunctions.js"),  
StandardCharsets.UTF_8)); 
 
Invocable inv = (Invocable) engine; 
// call function from script file 
inv.invokeFunction("yourFunction", "param"); 

希望这有帮助..!


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!