Я пытаюсь выполнить запрос PATCH
, используя Apache
httpclient
, и не знаю, как установить базовую аутентификацию. Вот как я сейчас пытаюсь это сделать. Я знаю, что мои параметры аутентификации верны, и я могу пройти аутентификацию с помощью GET... но для GET в настоящее время я использую httpURLConnection, а не Apache httpClient.
С помощью этого кода я получаю ответ 403, и я считаю, что это потому, что я неправильно установил информацию для аутентификации. Я знаю, что мне просто нужно выполнить базовую аутентификацию и передать ее X_AUTH_USER, X_AUTH_CRED.
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(X_AUTH_USER, X_AUTH_CRED.toCharArray());
}
});
HttpClient client = HttpClientBuilder.create().build();
HttpPatch patch = new HttpPatch(buildUrl());
try {
StringEntity input = new StringEntity(buildJson(jsonList));
input.setContentType("application/json");
patch.setEntity(input);
System.out.println(patch);
HttpResponse response = client.execute(patch);
System.out.print(response.getStatusLine());
for(Header header : response.getAllHeaders()){
System.out.println(header.getName() + " : " + header.getValue());
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}