在测试Web API响应时间时得到401,请协助

时间:2019-02-01 11:12:01

标签: java http http-status-code-401

希望有人能帮助我。 我有以下代码,尝试通过Java上的http请求测试Web api,但收到401未经授权的响应。有没有一种方法可以提供密码并向系统确认我的真实性,以获取响应代码并继续计算响应时间而没有收到401响应?

请参见下面的代码

public class readCSV {
    public static void main (String [] args) throws IOException
    {
        String fileNames = "data.csv";
        File file = new File(fileNames);// TODO read about file

    try 
        { 
            Scanner inputStream = new Scanner (file);
            inputStream.nextLine();
            int count = 0;
            long responseTime =0;
            if (count > 0 ){ } 
            do
            {
                String data = inputStream.nextLine();// gets the entire string of data
                String [] values = data.split(",");

                System.out.print("Getting value: ");
                count = count + 1;
                System.out.print( count + " ");
                System.out.print(values[1] + values[2] + values[3] + values[4] + values[5] + " ");


                    // open your connection
                        long start = System.currentTimeMillis();
                             URL url = new URL(values[0]);
                             HttpURLConnection http = (HttpURLConnection)url.openConnection();
                             int statusCode = http.getResponseCode();
                    //         System.out.print("Status: " + statusCode);
                        HTTPSTATUSPICKER pickStat = new HTTPSTATUSPICKER();
                        pickStat.statusCode(statusCode);

                    // send request, wait for response (the simple socket calls are all blocking)
                        long end = System.currentTimeMillis();
                        responseTime = end-start;
                        System.out.println(" ResponseTime = " + responseTime + " millis");  

            }
            while(inputStream.hasNextLine());
        } 

    catch (FileNotFoundException ex) 
    {
        Logger.getLogger(readCSV.class.getName()).log(Level.SEVERE, null, ex);
    }
    catch (Exception e)
        {  
            System.out.println(e);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

如果您获得401 unauthorised,那么这很明显是授权问题。
检查您令牌或进行REST调用时传递的任何身份验证参数。 还要检查您的Controller / Rest服务层以进行REST中的身份验证管理(例如基本身份验证,Oauth或其他任何身份验证)。