[英]Can't figure out correct argument form - calling a method from within a static nested class in Java
[英]Can't figure out the correct Parameter to mimic a website form in Java
我是網站源代碼和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請求)。 那是對的嗎?
以下是檢查清單:
/services/reinforce
發出POST請求? checkSubmit()
JavaScript函數是否checkSubmit()
表單的輸入/選擇/文本區域元素進行任何更改? 如果是這樣,則需要模擬通過POST請求發送的數據中的那些更改。 (這可能有助於編輯您的問題並添加checkSubmit()
函數的源。) application/x-www-form-urlencoded
? Cookie
標頭? data
是POST請求的內容主體嗎? call1=search
? 也許隱藏的領域也是必要的。 User-Agent
標頭?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.