Das HttpFacadeProtocol bietet erweiterte Möglichkeiten der Steuerung der Java HttpURLConnection. Das Protokoll kann mit der ProtocolFactory installiert werden.

Anwendung#

Beim Öffnen einer Connection wird eine HttpUrlConnectionFacade zurückgegeben (vorher HttpURLConnection). Die Klasse ist eine Erweiterung von HttpURLConnection, sodass bestehender Code weiter funktioniert. Die Klasse erhält jedoch Erweiterungen.

Beispiel#

	Authenticator.setDefault(new Authenticator() {
		@Override
		protected PasswordAuthentication getPasswordAuthentication() {
			return new PasswordAuthentication("<username>", "<password>".toCharArray());
		}
	});
	
	ProtocolFactory.register(new HttpFacadeProtocol());
	
	URL url = new URL("http://repo.maven.apache.org/maven2/org/apache/tomcat/tomcat-jasper/7.0.27/tomcat-jasper-7.0.27.pom");
	HttpUrlConnectionFacade connection = (HttpUrlConnectionFacade)url.openConnection(new SomeProxy());
	connection.setTransparentNtlm(false);
	IOUtils.copy(connection.getInputStream(), System.out);

Erklärung: In dem Beispiel wird eine Connection über "SomeProxy" geöffnet. Die Authentication über NTML wird abgeschaltet (Methode setTransparentNtml), sodass Benutzername und Passwort abgefragt wird.