HTTP响应代码为401时读取数据

时间:2013-09-04 15:28:48

标签: java

我正在尝试从使用本地Java返回401但无法成功的连接中读取数据。以下是代码 -

public String doGet(URL url)
{
    try
    {
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        InputStream stream = connection.getInputStream();
        StringBuilder data = new StringBuilder();
        int readByte;
        while ( (readByte = stream.read()) != -1 )
        {
            data.append((char) readByte);

        }
        stream.close();
        return data.toString();
    }
    catch ( IOException e )
    {
        System.err.println(e.getMessage());
    }
    return null;
}

使用SOAP UI工具时,我可以轻松阅读相同的网址。请参见下面的屏幕截图 -

enter image description here

缺少什么?有任何建议请...

1 个答案:

答案 0 :(得分:1)

当您收到错误响应时,不会通过标准输入流接收内容。相反,您需要使用HttpURLConnection.getErrorStream来获取InputSteam来阅读错误页面的内容。