从Java与AJAX站点交互

时间:2012-06-22 22:35:59

标签: java ajax

我正在尝试下载网站的内容。该站点是一个磁电站点,可以通过选择侧栏上的属性来过滤结果。请参阅zennioptical.com以获得一个很好的例子。

我正在尝试下载网站的内容。因此,如果我们使用zennioptical.com作为示例,我需要下载所有矩形眼镜。或者所有的塑料等。

那么如何向服务器发送请求以仅显示矩形框等?

非常感谢

1 个答案:

答案 0 :(得分:1)

您基本的答案是您需要使用正确的查询参数执行HTTP GET请求。根据你的问题,不完全确定你是如何尝试这样做的,所以这里有两个选择。

如果您尝试通过javascript执行此操作,可以查看this question。它有一堆答案,展示了如何使用内置的XMLHttpRequestjQuery来执行AJAX GET。

如果您尝试从Java应用程序下载页面,这根本不涉及AJAX。您仍然需要执行GET请求,但现在您可以查看this other question的一些想法。

无论您使用的是javascript还是java,困难的部分都是找出要查询的正确URL。如果您正在尝试搜索其他人的网站,则必须在筛选结果时查看浏览器请求的URL。查看该信息的最简单方法之一是在Web Console - > Tools - > Web Developer找到Web Console的Firefox。你也可以下载像Wireshark这样的东西,这是一个很好的工具,但可能是你需要的东西。

修改

例如,当我在zenni optical上单击“矩形框”选项时,这是在Web Console中发出的查询:

[16:34:06.976] GET http://www.zennioptical.com/?prescription_type=single&frm_shape%5B%5D=724&nav_cat_id=2&isAjax=true&makeAjaxSearch=true [HTTP/1.1 200 OK 2328ms]

你必须做足够数量的这些来弄清楚如何生成网址以获得你想要的结果。

<强>声明

如果您要下载某人的其他数据,最好先与他们核对。服务器的所有者可能不会理解他们可能会认为窃取他们的数据/工作。然后,根据您如何使用您下载的数据,您可能会冒险进入各种道德问题......然后,如果您从自己的网站下载,请继续下载。