У меня есть требование на моем рабочем месте, где мне нужно сделать запрос Get из моего Java кода в API отдыха стороннего приложения для получения некоторых данных xml.
Я могу получить доступ к URL-адресу Rest из моего браузера, где он запрашивает имя пользователя и пароль. После ввода учетных данных в браузере отображается ответ XML.
Но когда я пытаюсь получить доступ к тому же API из Java 7, передавая имя пользователя и пароль, я получаю «401: неавторизовано» ошибка.
Я предоставил код, который отправляет запрос GET в API.
public static void MyGetRequest()
{
URL urlForGetRequest= new URL("http:myproject.dev.myclient/api/projects"); //sample URL
HttpURLConnection connection= (HttpURLConnection) urlForGetRequest.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("username","password"); //I pass my username and password here
int responseCode= connection.getResponseCode();
String responseMessage= connection.getResponseMessage();
System.out.println("HTTP Response Code:" +responseCode);
System.out.println("HTTP Response Message:" +responseMessage);
if(responseCode==HttpURLConnection.HTTP_OK)
{
//code to fetch the XML response
}
}
Просим вас помочь мне, сообщив, где я иду не так. Поскольку это моя первая задача по вызовам API, пожалуйста, не обращайте внимания, если это глупый вопрос.