|
22 | 22 | import javax.xml.stream.XMLStreamReader;
|
23 | 23 | import javax.xml.stream.XMLStreamWriter;
|
24 | 24 | import java.io.File;
|
| 25 | +import java.net.URI; |
| 26 | +import java.net.URISyntaxException; |
25 | 27 | import java.util.ArrayList;
|
26 | 28 | import java.util.Arrays;
|
27 | 29 | import java.util.Date;
|
@@ -137,6 +139,12 @@ public DatenDownload(DatenPset pSet, DatenFilm film, byte quelle, DatenAbo abo,
|
137 | 139 | } else {
|
138 | 140 | arr[DOWNLOAD_URL] = film.getUrlFuerAufloesung(FilmResolution.Enum.fromLegacyString(aufloesung));
|
139 | 141 | }
|
| 142 | + //if URL contains query parameters |
| 143 | + if (arr[DOWNLOAD_URL].contains("?")) { |
| 144 | + //remove query parameters |
| 145 | + arr[DOWNLOAD_URL] = getUrlWithoutParameters(arr[DOWNLOAD_URL]); |
| 146 | + } |
| 147 | + |
140 | 148 | arr[DatenDownload.DOWNLOAD_INFODATEI] = pSet.arr[DatenPset.PROGRAMMSET_INFODATEI];
|
141 | 149 | arr[DatenDownload.DOWNLOAD_SUBTITLE] = pSet.arr[DatenPset.PROGRAMMSET_SUBTITLE];
|
142 | 150 | arr[DatenDownload.DOWNLOAD_SPOTLIGHT] = pSet.arr[DatenPset.PROGRAMMSET_SPOTLIGHT];
|
@@ -265,6 +273,26 @@ private static String datumDatumZeitReinigen(String datum) {
|
265 | 273 | return ret;
|
266 | 274 | }
|
267 | 275 |
|
| 276 | + /** |
| 277 | + * Remove all query parameters from url, e.g. ?explicit=true |
| 278 | + * @param url the original url |
| 279 | + * @return filtered url string |
| 280 | + */ |
| 281 | + private String getUrlWithoutParameters(String url) { |
| 282 | + try { |
| 283 | + var uri = new URI(url); |
| 284 | + return new URI(uri.getScheme(), |
| 285 | + uri.getAuthority(), |
| 286 | + uri.getPath(), |
| 287 | + null, // Ignore the query part of the input url |
| 288 | + uri.getFragment()).toString(); |
| 289 | + } |
| 290 | + catch (URISyntaxException e) { |
| 291 | + logger.error("Failed to parse url, returning unmodified", e); |
| 292 | + return url; |
| 293 | + } |
| 294 | + } |
| 295 | + |
268 | 296 | public void startDownload() {
|
269 | 297 | // Start erstellen und zur Liste hinzufügen
|
270 | 298 | this.start = new Start();
|
|
0 commit comments