簡體   English   中英

基本 JSoup 表單提交

[英]Basic JSoup form Submission

我的表單提交似乎不起作用,我嘗試了 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>

我試過:

  • url https://crawlertest284814019.wordpress.com/contact/
  • 數據"name", "nameeee"產生 404 狀態
  • 數據"g7-name", "nameeee"沒有問題但沒有提交
  • 數據"Name", "nameeee"沒有問題,但沒有提交
  • Map<String, String> 的數據沒有問題但沒有提交

正如@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();

狀態碼 404 是客戶端錯誤,您的輸入有問題。 請參閱下面的鏈接,它將解決您的問題。 如何使用 jsoup 發布表單登錄?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM