我有一个Groovy脚本,它使用URLConnection来处理GET请求(在本例中是获取身份验证令牌);
URLConnection loginURI = new URL("www.myaddress.fish").openConnection();
loginURI.setRequestProperty("Authorization","me:you");
response = loginURI.getInputStream();
不复杂,当响应为200或类似值时,此代码工作正常。回复中包含了我需要改进的细节。
但是,有时响应是4xx响应(最常见的是来自无效授权头的400个错误请求),通过SOAPUI或类似的方式运行相同的请求,我可以看到响应体包含有用的信息(例如“your username is incorrect”)。我希望能够捕获有用的信息进行处理,但我不知道如何做到这一点。
我尝试了传统的“try/catch”思想,但得到的是Java异常,而不是响应体。我愚蠢地试了一个沼泽标准
println response.text
但那根本不管用。假设响应体存储在某个地方,我如何读取它?