javascript - 用 Java 解析 JavaScript

标签 javascript java parsing

HTML页面,我想选择 javascript 的值多变的。下面是 HTML 页面的片段。

<script type="text/javascript">
$(function() {
  $.ajaxSetup({
    beforeSend: function(xhr) {
      xhr.setRequestHeader('X-MOON-EXPIRED', "1445350653");
      xhr.setRequestHeader('X-MOON-TOKEN', "10dafe974cc156d2d3b7fd9bb1e4e3ed");
    }
  });
});
</script>

我的目标是读取变量 X-MOON-EXPIRED 的值和X-MOON-TOKEN从本页使用 Java 。谢谢。

最佳答案

import java.util.regex.*;
Pattern p1 = Pattern.compile("X-MOON-EXPIRED', \"([^\"]*)\"");
Pattern p2 = Pattern.compile("X-MOON-TOKEN', \"([^\"]*)\"");
String html = "<script type=\"text/javascript\"> $(function() {   $.ajaxSetup({     beforeSend: function(xhr) {       xhr.setRequestHeader('X-MOON-EXPIRED', \"1445350653\");       xhr.setRequestHeader('X-MOON-TOKEN', \"10dafe974cc156d2d3b7fd9bb1e4e3ed\");     }   }); }); </script>";
Matcher m1 = p1.matcher(html);
Matcher m2 = p2.matcher(html);
if (!m1.find() || !m2.find()) {
    throw new Exception("Didn't match");
}
System.out.println(String.format("X-MOON-EXPIRED=%s, X-MOON-TOKEN=%s", m1.group(1), m2.group(1)));

打印:

X-MOON-EXPIRED=1445350653 X-MOON-TOKEN=10dafe974cc156d2d3b7fd9bb1e4e3ed

关于javascript - 用 Java 解析 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33239311/

相关文章:

javascript - 如何使用 typescript 在第 3 方类上定义方法?

java - 消除 Java Stream 生成的Optional 中额外的 isPresent() 调用

php - parse_url() PHP 工作异常

java - 在 nanohttpd 中设置 Access-Control-Allow-Origin

javascript - bxSlider - 将 div 放置在 slider + 文本和背景中

java - java中如何从inputStream中读取每个字符串

Java初始化抽象类

java - 跟踪在 Java 中解析流时找到的最多 5 个值的最佳方法

java - process Builder java无法运行java中的某些python代码。怎么解决?

javascript - 使用 jquery 启用禁用动态元素