我目前正在使用不同的刮擦技术,并发现,它可以很快就会变得很复杂,当涉及大量的JavaScript。 我在HTMLUnit方面取得了一些成功,它似乎很好地解释了JavaScript,但我正在寻找更轻量级的解决方案。如何从JSF网站上抓取Ajax生成的内容?
所以,我现在面临的问题是:我想检索一个特定页面的结果,这是由某个按钮点击ajax调用生成的。 这个调用本身很简单,只是一个HTTP Post到一个特定的URL,在邮件正文中提交了一些参数。我现在的问题是服务器抱怨,当我提交HTTP POST到ajax函数而没有真正打开包含网站。
我基本上为测试做的是:
curl -v -d "AJAXREQUEST=..." https://myhost/ajaxurl
的是我得到的是:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="Ajax-Response" content="true" />
<meta name="Ajax-Expired" content="View state could't be restored - reload page ?" />
</head>
</html>
服务器运行的是JSF 1.2。我需要做些什么才能从AJAX调用中获得结果?我不是JSF的专家......
据我所知你需要一个浏览器来使用Selenium,对吧?我想要更轻量级的东西(例如,可以完全用java或javascript实现的东西),而不需要额外的软件/进程。 – Julian 2012-01-31 16:49:34
卷曲的方式是:'curl -c cookies myajaxurl',然后是'curl -b cookies -d“AJAXREQUEST = ...”myajaxurl' – Julian 2012-03-02 19:55:56