Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java中的HttpClient连接到具有更改值的表单_Java_Apache Httpclient 4.x - Fatal编程技术网

使用Java中的HttpClient连接到具有更改值的表单

使用Java中的HttpClient连接到具有更改值的表单,java,apache-httpclient-4.x,Java,Apache Httpclient 4.x,我正在尝试使用具有以下值的表单连接到URL: 如果每次记录值更改(时间、令牌id、散列),我怎么做?请帮帮我!!我尝试使用HttpUrlConnection,现在使用HttpClient 4 <form name="login" method="post" action="/register/"> <input type="hidden" name="form:mode" value="edit"> <input type="hidden" name="

我正在尝试使用具有以下值的表单连接到URL:

如果每次记录值更改(时间、令牌id、散列),我怎么做?请帮帮我!!我尝试使用HttpUrlConnection,现在使用HttpClient 4

 <form name="login" method="post" action="/register/">
  <input type="hidden" name="form:mode" value="edit">
  <input type="hidden" name="form:id" value="login">
  <input type="hidden" name="__confirmed_p" value="0">
  <input type="hidden" name="__refreshing_p" value="0">
  <input type="hidden" name="return_url" value="/dotlrn/index">
  <input type="hidden" name="time" value="1352222384">
  <input type="hidden" name="token_id" value="423">
  <input type="hidden" name="hash" value="3F8865DB5E6603C296428A5A7C0D66C0256D5626">
      <tr>
            <td class="formulari">Nom d'usuari</td>
            <td class="formulari">
               <input type="text" id="username" name="username" value="" size="25" alt="Nom d'usuari"></td>
      </tr>
      <tr>
            <TD class="formulari">Contrasenya</TD>
            <TD class="formulari">
                <input type="password" id="password" name="password" size="25" ALT="Contrasenya d'accés"></TD>
      </tr>
      <TR>
            <TD COLSPAN="2"  class="formulari1">
               <div align="center">
                 <input id="login" type="submit" value="     Entreu      " alt="Entrar al Aula Virtual">
                 <A HREF="https://aulavirtual.uv.es"><IMG BORDER="0" HEIGHT="25" WIDTH="25" SRC="/resources/key.gif" ALT="Entrar en modo seguro" TITLE="Entrar en modo seguro"></A>
               </div>
            <!--
            <Table COLSPAN="2"  class="fonsgifs">
              <div align="center" class="titol3">
              <strong><A HREF="/altrescursos" class="font2nivell"><U>Altres cursos acad&egrave;mics</U></A></SPAN></strong>
            </table>
              <BR><BR><BR>
              <CENTER>
            -->
            <!--
              <A HREF="/dotlrn/clubs/openacslrnconference/xowiki/"><img align="center" src="/images/cabeceraOPEN.png" border = 0 align="center" alt="Conferencia OPEN" /></a>

              <BR><A HREF="/dotlrn/clubs/openacslrnconference/xowiki/"><img align="center" src="/images/ConferenciaSofwareLibre.png" border = 0 align="center" alt="Conferencia Software Libre" /></a>
              <BR><A HREF="/dotlrn/clubs/openacslrnconference/xowiki/">7th OpenACS / .LRN Conference </A> 
              <BR><A HREF="/dotlrn/clubs/openacslrnconference/xowiki/">Conferencia sobre Software Libre en Educación Superior</A>                   
              </CENTER>
            -->
        </TD>
        </TR>

      <TR>
            <TD  class="formulari1" COLSPAN="2" style="text-align:center">

            <BR><BR><BR>
            </TD>
      </TR>
    </FORM>

名字d'usuari
康特塞尼亚




出于安全目的,此表单使用隐藏参数。每次显示时,这些隐藏参数都会更改

您可以尝试更改代码以执行以下操作:

  • 获取页面
  • 解析生成的HTML以从表单元素中提取
    时间
    标记id
    哈希
    隐藏参数的值
  • 按照现在的方式进行POST,但是传入这三个值,而不是您现在使用的固定值

  • 出于安全目的,此表单使用隐藏参数。每次显示时,这些隐藏参数都会更改

    您可以尝试更改代码以执行以下操作:

  • 获取页面
  • 解析生成的HTML以从表单元素中提取
    时间
    标记id
    哈希
    隐藏参数的值
  • 按照现在的方式进行POST,但是传入这三个值,而不是您现在使用的固定值

  • 好的,这是我的第一个选择。我试图解析HTML,但使用jericho-HTML-3.2.jar我无法解析,因为建立的连接与使用GET的原始连接不同,我该怎么做?当我发送邮件时,这是相同的连接吗?我正在努力,如果我解决了这个问题,我会发布它!我接受更多的建议!对于Jericho,您有两种选择:(1)使用
    源(URL)
    构造函数,让Jericho处理初始GET请求;(2)使用HttpClient 4打开GET请求,然后使用
    源(阅读器)
    源(InputStream)
    解析HTML。提取出隐藏参数后,可以使用HttpClient 4打开新的POST请求以传递表单信息。这将是两个完全不同的请求。好吧,这是我的第一个选择。我试图解析HTML,但使用jericho-HTML-3.2.jar我无法解析,因为建立的连接与使用GET的原始连接不同,我该怎么做?当我发送邮件时,这是相同的连接吗?我正在努力,如果我解决了这个问题,我会发布它!我接受更多的建议!对于Jericho,您有两种选择:(1)使用
    源(URL)
    构造函数,让Jericho处理初始GET请求;(2)使用HttpClient 4打开GET请求,然后使用
    源(阅读器)
    源(InputStream)
    解析HTML。提取出隐藏参数后,可以使用HttpClient 4打开新的POST请求以传递表单信息。这将是两个完全不同的要求。