如何在带有请求正文的请求上使用 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);
这显然是我遇到问题的原因。
我删除了那行,现在它可以正常工作了。
在工作中,我使用的是 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);
这显然是我遇到问题的原因。
我删除了那行,现在它可以正常工作了。