本文整理匯總了Java中org.apache.commons.httpclient.HttpStatus.SC_UNAUTHORIZED屬性的典型用法代碼示例。如果您正苦於以下問題:Java HttpStatus.SC_UNAUTHORIZED屬性的具體用法?Java HttpStatus.SC_UNAUTHORIZED怎麽用?Java HttpStatus.SC_UNAUTHORIZED使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類org.apache.commons.httpclient.HttpStatus
的用法示例。
在下文中一共展示了HttpStatus.SC_UNAUTHORIZED屬性的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: tryAuthentication
private static void tryAuthentication(RemoteFileReference wsReference) throws Exception {
URL urlToConnect = wsReference.getUrl();
String wsdlUrl = wsReference.getUrlpath();
String username = wsReference.getAuthUser();
String password = wsReference.getAuthPassword();
HttpClient client = new HttpClient();
client.getState().setCredentials(
new AuthScope(urlToConnect.getHost(), urlToConnect.getPort()),
new UsernamePasswordCredentials(username, password)
);
GetMethod get = new GetMethod(wsdlUrl);
get.setDoAuthentication( true );
int statuscode = client.executeMethod(get);
if (statuscode == HttpStatus.SC_UNAUTHORIZED) {
throw new Exception(HttpStatus.SC_UNAUTHORIZED + " - Unauthorized connection!");
}
}
示例2: messageForStatusCode
@NotNull
public static String messageForStatusCode(int statusCode) {
if (statusCode == HttpStatus.SC_UNAUTHORIZED) {
return message("failure.login");
}
else if (statusCode == HttpStatus.SC_FORBIDDEN) {
return message("failure.permissions");
}
return message("failure.http.error", statusCode, HttpStatus.getStatusText(statusCode));
}
示例3: exec
/**
* Execute a method in a new HttpClient instance.
* If the auth failed, authenticate then retry the method.
*
* @param method methot to exec
* @param <M> Method type
* @return the status code
* @throws IOException on any failure
*/
private <M extends HttpMethod> int exec(M method) throws IOException {
final HttpClient client = new HttpClient();
if (proxyHost != null) {
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,
new HttpHost(proxyHost, proxyPort));
}
int statusCode = execWithDebugOutput(method, client);
if ((statusCode == HttpStatus.SC_UNAUTHORIZED
|| statusCode == HttpStatus.SC_BAD_REQUEST)
&& method instanceof AuthPostMethod
&& !useKeystoneAuthentication) {
if (LOG.isDebugEnabled()) {
LOG.debug("Operation failed with status " + method.getStatusCode() +
" attempting keystone auth");
}
//if rackspace key authentication failed - try custom Keystone authentication
useKeystoneAuthentication = true;
final AuthPostMethod authentication = (AuthPostMethod) method;
//replace rackspace auth with keystone one
authentication.setRequestEntity(getAuthenticationRequst(keystoneAuthRequest));
statusCode = execWithDebugOutput(method, client);
}
if (statusCode == HttpStatus.SC_UNAUTHORIZED ) {
//unauthed -or the auth uri rejected it.
if (method instanceof AuthPostMethod) {
//unauth response from the AUTH URI itself.
throw new SwiftAuthenticationFailedException(authRequest.toString(),
"auth",
authUri,
method);
}
//any other URL: try again
if (LOG.isDebugEnabled()) {
LOG.debug("Reauthenticating");
}
//re-auth, this may recurse into the same dir
authenticate();
if (LOG.isDebugEnabled()) {
LOG.debug("Retrying original request");
}
statusCode = execWithDebugOutput(method, client);
}
return statusCode;
}
示例4: executeWithTicketAuthentication
/**
* Execute the given method, authenticated as the given user using ticket-based authentication.
* @param method method to execute
* @param userName name of user to authenticate
* @return status-code resulting from the request
*/
private <T extends Object> T executeWithTicketAuthentication(HttpMethod method, String userName, String password, HttpRequestCallback<T> callback)
{
String ticket = authDetailProvider.getTicketForUser(userName);
if(ticket == null)
{
ticket = fetchLoginTicket(userName, password);
authDetailProvider.updateTicketForUser(userName, ticket);
}
try
{
HttpState state = applyTicketToMethod(method, ticket);
// Try executing the method
int result = httpProvider.getHttpClient().executeMethod(null, method, state);
if(result == HttpStatus.SC_UNAUTHORIZED || result == HttpStatus.SC_FORBIDDEN)
{
method.releaseConnection();
if(!method.validate())
{
throw new RuntimeException("Ticket re-authentication failed for user " + userName + " (HTTPMethod not reusable)");
}
// Fetch new ticket, store and apply to HttpMethod
ticket = fetchLoginTicket(userName, userName);
authDetailProvider.updateTicketForUser(userName, ticket);
state = applyTicketToMethod(method, ticket);
// Run method agian with new ticket
result = httpProvider.getHttpClient().executeMethod(null, method, state);
}
if(callback != null)
{
return callback.onCallSuccess(method);
}
return null;
}
catch(Throwable t)
{
boolean handled = false;
// Delegate to callback to handle error. If not available, throw exception
if(callback != null)
{
handled = callback.onError(method, t);
}
if(!handled)
{
throw new RuntimeException("Error while executing HTTP-call (" + method.getPath() +")", t);
}
return null;
}
finally
{
method.releaseConnection();
}
}
示例5: exec
/**
* Execute a method in a new HttpClient instance.
* If the auth failed, authenticate then retry the method.
*
* @param method method to exec
* @param <M> Method type
* @return the status code
* @throws IOException on any failure
*/
private <M extends HttpMethod> int exec(M method) throws IOException {
final HttpClient client = new HttpClient();
if (proxyHost != null) {
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,
new HttpHost(proxyHost, proxyPort));
}
int statusCode = execWithDebugOutput(method, client);
if ((statusCode == HttpStatus.SC_UNAUTHORIZED
|| statusCode == HttpStatus.SC_BAD_REQUEST)
&& method instanceof AuthPostMethod
&& !useKeystoneAuthentication) {
if (LOG.isDebugEnabled()) {
LOG.debug("Operation failed with status " + method.getStatusCode() +
" attempting keystone auth");
}
//if rackspace key authentication failed - try custom Keystone authentication
useKeystoneAuthentication = true;
final AuthPostMethod authentication = (AuthPostMethod) method;
//replace rackspace auth with keystone one
authentication.setRequestEntity(getAuthenticationRequst(keystoneAuthRequest));
statusCode = execWithDebugOutput(method, client);
}
if (statusCode == HttpStatus.SC_UNAUTHORIZED ) {
//unauthed -or the auth uri rejected it.
if (method instanceof AuthPostMethod) {
//unauth response from the AUTH URI itself.
throw new SwiftAuthenticationFailedException(authRequest.toString(),
"auth",
authUri,
method);
}
//any other URL: try again
if (LOG.isDebugEnabled()) {
LOG.debug("Reauthenticating");
}
//re-auth, this may recurse into the same dir
authenticate();
if (LOG.isDebugEnabled()) {
LOG.debug("Retrying original request");
}
statusCode = execWithDebugOutput(method, client);
}
return statusCode;
}