从java提交aspx页面

use*_*606 6 java

我需要从java提交一个aspx页面.我正在使用HTTp Client以及HttpUrlConnection这样做.调用页面很简单,但我需要设置一个单选按钮以检查状态,然后将输入字段的值设置为我要搜索的内容并发布页面.

我在HttpUrlConnection上使用了post requestmethod,并尝试使用值作为编码字符串设置输入字段的值 - 不知道这是否是正确的方法.另外我不知道如何设置单选按钮状态进行检查

所以你们可以帮助我如何完成这项任务.

任何帮助将受到高度赞赏

谢谢

马诺

Bal*_*usC 9

您需要知道输入元素的名称(包括提交按钮本身!).它们需要作为请求参数与期望值一起发送.您需要根据这些名称 - 值对组合HTTP查询字符串,并将其写入请求正文.

假设生成的ASPX页面的HTML如下所示:

<form action="page.aspx" method="post">
    <input type="text" name="foo" />
    <input type="radio" name="bar" value="option1" />
    <input type="radio" name="bar" value="option2" />
    <input type="radio" name="bar" value="option3" />
    <input type="submit" name="action" value="send" />
</form>
Run Code Online (Sandbox Code Playgroud)

当您想要虚拟输入hello输入值时,选择第二个选项option2并按下提交按钮,然后最终查询字符串需要如下所示:

foo=hello&bar=option2&action=send
Run Code Online (Sandbox Code Playgroud)

将其写入请求正文.在这种情况下URLConnection,它将是:

String query = "foo=hello&bar=option2&action=send";
String charset = "UTF-8";

URLConnection connection = new URL("http://example.com/page.aspx").openConnection();
connection.setDoOutput(true); // Triggers POST method.
connection.setRequestProperty("Accept-Charset", charset);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset);
connection.getOutputStream().write(query.getBytes(charset));
Run Code Online (Sandbox Code Playgroud)

也可以看看: