Java HTMLUNIT-为Ajax请求发送Cookie时出现问题

Java HTMLUNIT-为Ajax请求发送Cookie时出现问题,java,ajax,spring-boot,cookies,htmlunit,Java,Ajax,Spring Boot,Cookies,Htmlunit,一、 我正在使用HtmlUnit 2.43版。 当我点击按钮时,一个函数javascript被调用。这个函数创建一个链接(新url),这个新页面需要Cookie(JSESSIONID),执行后,结果显示在标记DIV中。 但我什么都试过了,但我做不到。 请有人帮帮我 代码: WebClient客户端=新的WebClient(BrowserVersion.CHROME); WebClientOptions=client.getOptions() CookieManager CookieManager

一、 我正在使用HtmlUnit 2.43版。 当我点击按钮时,一个函数javascript被调用。这个函数创建一个链接(新url),这个新页面需要Cookie(JSESSIONID),执行后,结果显示在标记DIV中。 但我什么都试过了,但我做不到。 请有人帮帮我

代码: WebClient客户端=新的WebClient(BrowserVersion.CHROME); WebClientOptions=client.getOptions()

CookieManager CookieManager=client.getCookieManager();
cookieManager.setCookiesEnabled(true);
客户。setCookieManager(cookieManager);
client.getOptions().setJavaScriptEnabled(true);
setAjaxController(新的NicelyResynchronizingAjaxController());
client.getOptions().setThroweExceptionOnScriptError(false);
client.getOptions().setThroweExceptionOnFailingStatusCode(false);
client.getOptions().setCssEnabled(false);
HtmlTextInput inputCaptcha=paginafterconsultaidentiicadorcaptcha.querySelector(“input[name='questionCL']”);
inputCaptcha.setValueAttribute(“gr5w4”);
HtmlPage paginaInfLote=((HtmlButtonInput)paginafterconsultaidentiicadorchap.getElementById(“botao_continuar”)。单击();
setJavaScriptTimeout(10000);
System.out.println(paginaInfLote.asXml());
迭代器索引=cookies4.Iterator();
while(index.hasNext()){
vSessionId=index.next().toString();
System.out.println(index.next());
打破
}
字符串vValueCookie=vsSessionID.substring(11,vsSessionID.indexOf(“;”);
日期dt=新日期();
Calendar c=Calendar.getInstance();
c、 设定时间(dt);
c、 添加(日历日期,1);
dt=c.getTime();
Cookie Cookie=新的Cookie(“www.licitacoes-e.com.br”,“JSESSIONID”,vValueCookie,“/”,dt,false);
cookieManager.addCookie(cookie);
客户。setCookieManager(cookieManager);

Cookie处理应自动完成。请在HtmlUnit Github上打开一个问题。请使用Charles web proxy之类的工具,确保HtmlUnit发送的请求与reals浏览器有任何区别。如果你能指出这样一个问题,我可以复制它,那么我很有可能解决它。首先感谢你的回答!我将安装Charles代理并在这里显示此结果。请使用github问题来沟通所有细节。
    CookieManager cookieManager = client.getCookieManager();
    cookieManager.setCookiesEnabled(true);
    client.setCookieManager(cookieManager);

    client.getOptions().setJavaScriptEnabled(true);
    client.setAjaxController(new NicelyResynchronizingAjaxController());
    client.getOptions().setThrowExceptionOnScriptError(false);
    client.getOptions().setThrowExceptionOnFailingStatusCode(false);
    client.getOptions().setCssEnabled(false);

   HtmlTextInput inputCaptcha = paginaAfterConsultaIdentificadorCaptcha.querySelector("input[name='questionCL']");
   inputCaptcha.setValueAttribute("gr5w4");
   HtmlPage paginaInfLote = ((HtmlButtonInput) paginaAfterConsultaIdentificadorCaptcha.getElementById("botao_continuar")).click();
   client.setJavaScriptTimeout(10000);

   System.out.println(paginaInfLote.asXml());

  <!-- I tried set to new cookie: -->

   Iterator<Cookie> index = cookies4.iterator();
   while (index.hasNext()) {
      vSessionId = index.next().toString();
       System.out.println(index.next());
       break;
    }
     String  vValueCookie = vSessionId.substring(11, vSessionId.indexOf(";"));

     Date dt = new Date();
     Calendar c = Calendar.getInstance();
     c.setTime(dt);
     c.add(Calendar.DATE, 1);
     dt = c.getTime();

     Cookie cookie = new Cookie("www.licitacoes-e.com.br", "JSESSIONID", vValueCookie, "/",  dt, false);
     cookieManager.addCookie(cookie);
     client.setCookieManager(cookieManager);
  <!-- Fim set cookie -->