【问题标题】:Basic JSoup form Submission基本 JSoup 表单提交
【发布时间】:2021-03-10 00:37:42
【问题描述】:

我的表单提交似乎不起作用,我尝试了 Jaunt,它能够提交,所以在使用 JSoup 时我不明白为什么它返回 404

Connection.Response response = Jsoup.connect("https://crawlertest284814019.wordpress.com/contact/#contact-form-7")
    .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
    .data("name", "nameeee")
    .method(Connection.Method.POST)
    .execute();
<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.13.1</version>
</dependency>

我试过了:

  • 网址https://crawlertest284814019.wordpress.com/contact/
  • 数据"name", "nameeee"产生404状态
  • 数据"g7-name", "nameeee"没有问题但没有提交
  • 数据"Name", "nameeee"没有问题但没有提交
  • Map 的数据没有问题,但没有提交

【问题讨论】:

  • 您的表单似乎还包含一些&lt;input type="hidden" ...&gt; 可能也应该发送的元素。
  • @Pshemo 你是绝对正确的!我没有注意到那些字段。非常感谢。

标签: java jsoup


【解决方案1】:

正如@Pshemo 所指出的,代码还可以,但是缺少传递的数据。这些隐藏字段包含使提交有效所需的信息。在这个问题的情况下,隐藏字段是:

<input type="hidden" id="_wpnonce" name="_wpnonce" value="4d18e01372">
<input type="hidden" name="_wp_http_referer" value="/contact/">
<input type="hidden" name="contact-form-id" value="7">
<input type="hidden" name="action" value="grunion-contact-form">
<input type="hidden" name="contact-form-hash" value="07cbf543790375cf26022ad8826a8dbb8787beae">

因此,除了必填字段之外,请务必同时提交隐藏的字段。


Document document = Jsoup.connect("https://crawlertest284814019.wordpress.com/contact/#contact-form-7")
    .data("g7-name", "Super sName")
    .data("_wpnonce", "4d18e01372")
    .data("_wp_http_referer", "/contact/")
    .data("action", "grunion-contact-form")
    .data("contact-form-id", "7")
    .data("contact-form-hash", "07cbf543790375cf26022ad8826a8dbb8787beae")
    .post();

【讨论】:

    【解决方案2】:

    状态码 404 是客户端错误,您的输入有问题。 请参阅下面的链接,它将解决您的问题。 How to post form login using jsoup?

    【讨论】:

    • 尝试该字段的实际 name= 值,在这种情况下为 g7-name 似乎没有任何不同。没有错误,但也没有提交条目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    • 2014-08-07
    • 2015-10-30
    • 1970-01-01
    • 2014-02-01
    相关资源
    最近更新 更多