From f0429e57fa22ff3c2486cefebc33c5e30ffbaf3c Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 13 May 2020 09:24:46 +0300 Subject: set proper user agent for API requests (instead of just okhttp3) --- .../src/main/java/org/fox/ttrss/ApiCommon.java | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'org.fox.ttrss') diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ApiCommon.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ApiCommon.java index c75f6650..ce5089f8 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ApiCommon.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ApiCommon.java @@ -2,6 +2,8 @@ package org.fox.ttrss; import android.content.Context; import android.content.SharedPreferences; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.preference.PreferenceManager; @@ -14,6 +16,7 @@ import com.google.gson.JsonParser; import java.io.IOException; import java.util.HashMap; +import java.util.Locale; import androidx.annotation.NonNull; import okhttp3.Credentials; @@ -116,6 +119,7 @@ public class ApiCommon { Request.Builder requestBuilder = new Request.Builder() .url(apiUrl) + .header("User-Agent", getUserAgent(context)) .post(RequestBody.create(TYPE_JSON, payload)); String httpLogin = m_prefs.getString("http_login", "").trim(); @@ -225,4 +229,24 @@ public class ApiCommon { return null; } + + private static String getUserAgent(Context context) { + try { + PackageInfo packageInfo = context.getPackageManager(). + getPackageInfo(context.getPackageName(), 0); + + return String.format(Locale.ENGLISH, + "Tiny Tiny RSS (Android) %1$s (%2$d) %3$s", + packageInfo.versionName, + packageInfo.versionCode, + System.getProperty("http.agent")); + + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + + return String.format(Locale.ENGLISH, + "Tiny Tiny RSS (Android) Unknown %1$s", + System.getProperty("http.agent")); + } + } } -- cgit v1.2.3