From 1feb62ae853443168c27f088fcc30d5b8feb6507 Mon Sep 17 00:00:00 2001 From: Christopher Szucko Date: Fri, 14 Feb 2014 09:24:39 -0600 Subject: Support HTTP Basic Authentication for Feeds Enables the use of feed URLs with the format http://user:password@example.com --- src/de/danoeh/antennapod/service/download/HttpDownloader.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/de/danoeh/antennapod/service/download/HttpDownloader.java b/src/de/danoeh/antennapod/service/download/HttpDownloader.java index fc2b3178b..1ffea19d5 100644 --- a/src/de/danoeh/antennapod/service/download/HttpDownloader.java +++ b/src/de/danoeh/antennapod/service/download/HttpDownloader.java @@ -11,8 +11,10 @@ import org.apache.commons.io.IOUtils; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; +import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.auth.BasicScheme; import java.io.*; import java.net.*; @@ -44,6 +46,15 @@ public class HttpDownloader extends Downloader { InputStream connection = null; try { HttpGet httpGet = new HttpGet(getURIFromRequestUrl(request.getSource())); + String userInfo = httpGet.getURI().getUserInfo(); + if (userInfo != null) { + String[] parts = userInfo.split(":"); + if (parts.length == 2) { + httpGet.addHeader(BasicScheme.authenticate( + new UsernamePasswordCredentials(parts[0], parts[1]), + "UTF-8", false)); + } + } HttpResponse response = httpClient.execute(httpGet); HttpEntity httpEntity = response.getEntity(); int responseCode = response.getStatusLine().getStatusCode(); -- cgit v1.2.3