diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index 67b4dd0ffba2f8e2ada75cdc3282f05153120b6d..54b2daaa5dd90742481561986fa9e267949367cb 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -1937,7 +1937,14 @@ public class XmppConnectionService extends Service { try { HttpUrl url = HttpUrl.parse(link.toString()); OkHttpClient http = getHttpConnectionManager().buildHttpClient(url, account, 5, false); - okhttp3.Response response = http.newCall(new okhttp3.Request.Builder().url(url).head().build()).execute(); + final var request = new okhttp3.Request.Builder().url(url).head().build(); + okhttp3.Response response = null; + if ("www.amazon.com".equals(link.getHost()) || "www.amazon.ca".equals(link.getHost())) { + // Amazon blocks HEAD + response = new okhttp3.Response.Builder().request(request).protocol(okhttp3.Protocol.HTTP_1_1).code(200).message("OK").addHeader("Content-Type", "text/html").build(); + } else { + response = http.newCall(request).execute(); + } final String mimeType = response.header("Content-Type") == null ? "" : response.header("Content-Type"); final boolean image = mimeType.startsWith("image/"); final boolean audio = mimeType.startsWith("audio/");