c httpclient抓取网页(如何在java里面模拟ajax获得表格里的数据呢?)
优采云 发布时间: 2021-10-06 02:18c httpclient抓取网页(如何在java里面模拟ajax获得表格里的数据呢?)
现在我想用httpclient获取页面的数据,但是数据是根据Ajax脚本动态获取的。如何在Java中模拟Ajax以获取表中的数据?[网页URL:]
在此页面中,用于获取数据的JS的URL为
,Currency.ashx
通过检测,可以确定发送了post请求。URL如上所述,post参数。现在我想用Java中的httpclient模拟post请求,以获取返回数据。我试过了,但还是失败了。让我们给你一些建议。多谢各位
部分测试代码
---------------------------------------------------------------------------------------------
[align=left]HttpPostHttpPost=newHttpPost(url)
Listparam=newArrayList()
参数add(newBasicNameValuePair(“控制ID”、“CS30SV9SCKlax9FSDS3HYFUCTJR16N5G”)
setHeader(“X-AjaxPro-Method”、“GetDataSource”)
setHeader(“X_请求的_带有”,“XMLHttpRequest”)
setHeader(“Referer”和“)
httpost.setHeader(“用户代理”、“Mozilla/5.0(Windows;U;WindowsNT5.1;nl;rv:1.8.1.13)Gecko/20080311Firefox/2.0.13”)
setHeader(“Accept”,“text/xml,text/javascript,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5”)
httpost.setHeader(“接受语言”,“zh-cn,zh;q=0.5;en-us;q=0.7,en;q=0.3”)
httpost.setHeader(“接受字符集”,“gb2312,utf-8;q=0.7,*;q=0.7;ISO-8859-1,utf-8,GBK,gb2312;q=0.7,*;q=0.7”)
httpost.setEntity(newUrlEncodedFormEntity(param,HTTP.UTF8))
HttpResponseresp=client.execute(httpost)
InputStreamcontent=resp.getEntity().getContent()
[/align]