Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用java编程访问网页_Java_Http - Fatal编程技术网

如何用java编程访问网页

如何用java编程访问网页,java,http,Java,Http,有一个网页,我想从中检索某个字符串。为了做到这一点,我需要登录,单击一些按钮,填写一个文本框,单击另一个按钮,然后出现字符串 我如何编写一个java程序来自动完成这项工作?有没有什么有用的图书馆 谢谢当您按下按钮时,通常通过HTTP POST方法执行请求,因此您应该使用来处理请求并使用所需字符串处理响应页面。试试看 HtmlUnit是一款“无GUI浏览器,适用于 Java程序”。它为HTML建模 文档并提供一个API 允许您调用页面、填写 表单、单击链接等。。。就像 您可以在“普通”浏览器中执行

有一个网页,我想从中检索某个字符串。为了做到这一点,我需要登录,单击一些按钮,填写一个文本框,单击另一个按钮,然后出现字符串

我如何编写一个java程序来自动完成这项工作?有没有什么有用的图书馆


谢谢当您按下按钮时,通常通过HTTP POST方法执行请求,因此您应该使用来处理请求并使用所需字符串处理响应页面。

试试看

HtmlUnit是一款“无GUI浏览器,适用于 Java程序”。它为HTML建模 文档并提供一个API 允许您调用页面、填写 表单、单击链接等。。。就像 您可以在“普通”浏览器中执行此操作

提交表格的示例代码:

@Test
public void submittingForm() throws Exception {
    final WebClient webClient = new WebClient();

    // Get the first page
    final HtmlPage page1 = webClient.getPage("http://some_url");

    // Get the form that we are dealing with and within that form, 
    // find the submit button and the field that we want to change.
    final HtmlForm form = page1.getFormByName("myform");

    final HtmlSubmitInput button = form.getInputByName("submitbutton");
    final HtmlTextInput textField = form.getInputByName("userid");

    // Change the value of the text field
    textField.setValueAttribute("root");

    // Now submit the form by clicking the button and get back the second page.
    final HtmlPage page2 = button.click();

    webClient.closeAllWindows();
}
有关更多详细信息,请查看: 是:

  • 将允许您发出http请求并获取http响应

  • 是一个使使用HTTP更容易的库


查看apache项目,或者如果需要在页面上运行Javascript,请尝试。

实现这一点的超级简单方法是在此处使用HtmlUnit:

您想做的事情可以简单到:

@Test
public void homePage() throws Exception {
    final WebClient webClient = new WebClient();
    final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
    assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText());
}

通常,屏幕抓取不如使用官方API的效果好。你想访问哪个网站?我不相信这个网站有官方的API,但我也会检查这个选项。这听起来正是我一直在寻找的。我会检查的,谢谢!它也相当慢,而且带有警告信息,非常自由。太棒了!通过这种方法,我能够制作一个Java应用程序,它可以访问我的银行公司的网站,使用我的凭证登录,并通过管理将我的银行帐户余额和移动情况输出到Java控制台,所有这些都是以完全自动的方式进行的!投票否决一个勾号。我正在寻找类似的东西-但是-请不要告诉我一些不可用的“框架”。POJO是怎么做的?