向页面发送请求

时间:2010-03-15 21:38:00

标签: java

我正在尝试自动填写表单并按下该表单上的按钮并等待回复。我该怎么做呢? 更具体地说,我有一个--HUGE--集合DNA菌株,我需要将它们相互比较。幸运的是,有一个website可以完全满足我的需要。 基本上,我输入2个不同的DNA序列并单击“对齐序列”按钮并得到结果(分数的计算无关)。 有没有办法制作一个自动插入输入的Java程序,“点击”按钮并阅读该网站的回复?

谢谢!

3 个答案:

答案 0 :(得分:1)

您可以使用apache http client向网站发送请求。

查看相关页面的来源,您将找到该部分。这包含需要发送到服务器的所有字段。特别是,您将看到它需要作为Post发送,而不是更常见的Get。上面的链接显示了如何使用http客户端代码发布帖子。

您需要为表单中的每个字段提供nameValuePair,例如:

<input type="hidden" name="rm" value="lalign_x"/>
<input type="checkbox" name="show_ident" value="1" />
<textarea name="query" rows="6" cols="60">

您可能需要一些试验和错误才能正确设置所有字段。我建议用小数据集来做这件事。一旦这一切似乎都有效,那就用你更大的数据来尝试。

答案 1 :(得分:0)

您可以使用Selenium执行此操作。

答案 2 :(得分:0)

在Python中,您可以使用 mechanize 库(http://wwwsearch.sourceforge.net/mechanize/)。它非常简单,你不需要很好地了解Python就可以使用它。

简单示例(填写登录表单):

br = Browser()
br.open(login_link)
br.select_form(name="login")
br["email"] = "email@server.com"
br["pass"] = "password"
br.submit()
相关问题