如何在带有请求正文的请求上使用 getPage()?

How to use getPage() on a request with a request body?

在工作中,我使用的是 HtmlUnit 2.8 版本,我遇到了这种 kafkaian 情况:

我有一个有主体的 WebRequest,因此没有请求参数:当请求主体不是 null 时使用 WebRequest.setRequestParameters() 会抛出一个:

java.lang.RuntimeException: Trying to set the request parameters, but the request body has already been specified;the two are mutually exclusive!

(来源可用 here

但是,当我使用 webClient.getPage(webRequest) 时,我得到:

java.lang.NullPointerException: parameters

(来源here

那条非常冗长的消息意味着请求参数不能使用 null

有没有办法解决这个问题,或者绕过它?最好使用相同的版本(还是 2.8),因为我无权升级我们使用的框架。

默认构造函数会默认将请求的参数初始化为Collections.emptyList(),因此不会导致NullPointerException。

什么 做了 导致我的异常,是在我调用

之前的几行
request.setRequestParameters(null);

这显然是我遇到问题的原因。

我删除了那行,现在它可以正常工作了。