希望有人能帮助我。 我有以下代码,尝试通过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);
}
}
}
答案 0 :(得分:1)
如果您获得401 unauthorised
,那么这很明显是授权问题。
检查您令牌或进行REST调用时传递的任何身份验证参数。
还要检查您的Controller / Rest服务层以进行REST中的身份验证管理(例如基本身份验证,Oauth或其他任何身份验证)。