在工作中,我使用的是HtmlUnit 2.8版,我遇到了这种卡夫卡式的情况:
我有一个具有主体的WebRequest
,因此没有请求参数:当请求主体不是WebRequest.setRequestParameters()
时使用null
会抛出:
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);
这显然是造成我问题的原因。
我删除了该行,现在它可以按预期运行。
关于java - 如何在带有请求正文的请求上使用getPage()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45866479/