Forms JSoup中的过账表不';我没有任何反应

Forms JSoup中的过账表不';我没有任何反应,forms,post,jsoup,form-submit,chinese-locale,Forms,Post,Jsoup,Form Submit,Chinese Locale,我想自动检索在这个页面上搜索汉字的结果。输入字符后,例如'馬' 进入标签为'字形', 提交表单会生成一个名为“HiddenFrom”的表单,如下所示,我希望输出该表单的内容(如下所示): 6104 共搜尋到17字,字形大小: 16 20 24 28 32 36 40 44 48 54 60 66 72 點 鐵2.2(甲)乙9092(甲)甲1286(甲)林1.23.20(甲)戊寅作父丁方鼎(金)商代晚期 彔伯戈冬簋蓋(金)西周中期大 查看Chrome开发者工具(或Firefox)的“网络”选项

我想自动检索在这个页面上搜索汉字的结果。输入字符后,例如'馬' 进入标签为'字形', 提交表单会生成一个名为“HiddenFrom”的表单,如下所示,我希望输出该表单的内容(如下所示):

6104
共搜尋到17字,字形大小:
16
20
24
28
32
36
40
44
48
54
60
66
72
點

鐵2.2(甲)

乙9092(甲)

甲1286(甲)

林1.23.20(甲)

戊寅作父丁方鼎(金)
商代晚期

彔伯戈冬簋蓋(金)
西周中期
大 查看Chrome开发者工具(或Firefox)的“网络”选项卡,您可以查看发送到服务器的确切请求。服务器的响应就是您要查找的

下面是开发工具的快照:(您可以看到POST请求URL以及正在发送的数据)

因此,您所需要做的就是模拟将此请求发送到服务器,并在响应中获得所需的内容

以下是使用库发送POST请求的示例Java代码:

运行此代码将返回
HiddenFrom

<form Id="HiddenFrom"...

查看Chrome开发者工具(或Firefox)的网络选项卡,您可以查看发送到服务器的确切请求。服务器的响应就是您要查找的

下面是开发工具的快照:(您可以看到POST请求URL以及正在发送的数据)

因此,您所需要做的就是模拟将此请求发送到服务器,并在响应中获得所需的内容

以下是使用库发送POST请求的示例Java代码:

运行此代码将返回
HiddenFrom

<form Id="HiddenFrom"...
多亏了Navid(上面)用他的OkHttp代码让我回到了正确的轨道上(显示我应该指向PageResult/PageResult目录,而不是根目录),并且找到了“org.jsoup.Connection.Response”类的名称,我还能够让程序在jsoup中工作。这里是供参考的:

import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.Connection.Response;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.FormElement;
import org.jsoup.select.Elements;
import java.io.IOException;

public class ImgURLExtractor {

    public void sendPostAndPrintResponse(String kanjiToSearch) throws IOException {
        Response response = Jsoup.connect("http://xiaoxue.iis.sinica.edu.tw/yanbian/PageResult/PageResult")
        .data("ZiOrder", "")
        .data("EudcFontChar", kanjiToSearch)
        .data("ImageSize", "36")
        .data("X-Requested-With", "XMLHTTPRequest")
        .method(Connection.Method.POST)
        .timeout(10000) // This website can actually take a while to respond
        .execute();

        System.out.println(response.parse());
        // Payload should include: /ImageText2/ShowImage.ashx?text=&font=中研院甲骨文重文三&size=36&style=regular&color=%23000000
    }

    public static void main(String[] args) throws IOException {
        ImgURLExtractor example = new ImgURLExtractor();
        example.sendPostAndPrintResponse("馬");
    }
}
它返回:


6104
共搜尋到17字,字形大小: 16 20 24 28 32 36 40 44 48 54 60 66 72 點  

鐵2.2(甲)

乙9092(甲)

甲1286(甲)

林1.23.20(甲)

戊寅作父丁方鼎(金)
商代晚期
彔伯戈冬簋蓋(金)
西周中期
大 多亏Navid(上面)用他的OkHttp代码让我回到了正确的轨道上(显示我应该指向PageResult/PageResult目录,而不是根目录),并找到了“org.jsoup.Connection.Response”类的名称,我还能够让程序在jsoup中工作。这里是供参考的:

import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.Connection.Response;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.FormElement;
import org.jsoup.select.Elements;
import java.io.IOException;

public class ImgURLExtractor {

    public void sendPostAndPrintResponse(String kanjiToSearch) throws IOException {
        Response response = Jsoup.connect("http://xiaoxue.iis.sinica.edu.tw/yanbian/PageResult/PageResult")
        .data("ZiOrder", "")
        .data("EudcFontChar", kanjiToSearch)
        .data("ImageSize", "36")
        .data("X-Requested-With", "XMLHTTPRequest")
        .method(Connection.Method.POST)
        .timeout(10000) // This website can actually take a while to respond
        .execute();

        System.out.println(response.parse());
        // Payload should include: /ImageText2/ShowImage.ashx?text=&font=中研院甲骨文重文三&size=36&style=regular&color=%23000000
    }

    public static void main(String[] args) throws IOException {
        ImgURLExtractor example = new ImgURLExtractor();
        example.sendPostAndPrintResponse("馬");
    }
}
它返回:


6104
共搜尋到17字,字形大小: 16 20 24 28 32 36 40 44 48 54 60 66 72 點  

鐵2.2(甲)

乙9092(甲)

甲1286(甲)

林1.23.20(甲)

戊寅作父丁方鼎(金)
商代晚期
彔伯戈冬簋蓋(金)
西周中期

大很好,Navid-我能够将它移植到JSoup,如我随后的回答文章所示。我从你的代码中看到,我应该指向请求URL而不是根。奇怪的是,我以前尝试指向那里只产生了404个错误,所以可能只有在我添加“Response Response=…”以捕获r时它才开始工作响应,受您的代码启发。非常感谢!非常好,Navid-我能够将其移植到JSoup,如我随后的回复帖子所示。我从您的代码中看到,我本应该指向请求URL而不是根。奇怪的是,我之前尝试指向该URL时只产生了404个错误,所以可能它才开始工作当我添加“Response-Response=…”以捕获响应时,正如您的代码所启发的那样。非常感谢!