java - 无法找出正确的参数来模仿 Java 中的网站表单

标签 java html forms

我是网站源代码和 Java 的初学者,我正在尝试找出一种以编程方式访问特定网站的方法。我想通了登录/身份验证部分,但现在我被困在应该相当容易的事情上。我需要告诉 Java 从选项列表中进行选择,但我无法弄清楚要为以下源代码发送哪些参数:

<FORM ACTION="/services/reinforce" METHOD="POST" onSubmit="return checkSubmit()">
<INPUT TYPE="hidden" NAME="call1" VALUE="search">
<TABLE  CLASS="Data_table" summary="Select an option"width="100%"><CAPTION class="ctext">Search:    </CAPTION>
<TR>
<TD CLASS="default"><LABEL for=input_id><SPAN class=fvisible>Options</SPAN></LABEL>
<SELECT NAME="val_num" SIZE="1"  ID="optionId">
<OPTION VALUE="">None
<OPTION VALUE="1">Option 1
<OPTION VALUE="2">Option 2
<OPTION VALUE="3">Option 3
<OPTION VALUE="4">Option 4
<OPTION VALUE="5">Option 5
<OPTION VALUE="6">Option 6
<OPTION VALUE="7">Option 7
...

例如如果我想选择选项1,我通常会做的是

String data = URLEncoder.encode("val_num", "UTF-8") + "=" + URLEncoder.encode("1", "UTF-8"); 

它以某种方式工作,它不返回 FileNotFoundException,但它会将我重定向到另一个链接。当我在任何浏览器中手动执行它时,它工作正常,并将我重定向到 Option1。可能出了什么问题?

最佳答案

你是否也发送了对应于隐藏输入元素的参数。

String data = "call1=search&val_num=1";

(请注意,当您清楚地看到字符串仅包含 URL 安全字符时,无需进行 URL 编码。)

我还假设您将此数据字符串传递给 POST 请求(而不是 GET 请求)。对吗?

关于java - 无法找出正确的参数来模仿 Java 中的网站表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7654029/

相关文章:

java - 在 IntelliJ IDEA 中设计一个 JFrame

Java JButton - 制作简单的菜单

java - Azure Spring Boot功能-如何将触发器和输入绑定(bind)同时传递给handleRequest方法?

c# - 识别来电号码。最简单的方法是什么?

javascript - 如何使用jquery访问$(this)关键字下的子元素

javascript - 当页面上有表单时运行/加载函数

java - 我可以使用java中的收集器从文档列表中查找具有最大键值的文档吗

html - 如何让 md-sidenav 将内容推送到右边而不是重叠?

html - 仅使用 css 将文本移动到图像下方

html - 防止双重表单提交