Method: threatListUpdates.fetch

جدیدترین به‌روزرسانی‌های فهرست تهدید را واکشی می‌کند. یک کلاینت می‌تواند به‌روزرسانی‌هایی را برای چندین فهرست به طور همزمان درخواست کند.

درخواست HTTP

POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch

URL از دستور GRPC Transcoding استفاده می کند.

درخواست بدن

بدنه درخواست حاوی داده هایی با ساختار زیر است:

نمایندگی JSON
{
  "client": {
    object (ClientInfo)
  },
  "listUpdateRequests": [
    {
      object (ListUpdateRequest)
    }
  ]
}
فیلدها
client

object ( ClientInfo )

فراداده مشتری

listUpdateRequests[]

object ( ListUpdateRequest )

لیست تهدید درخواستی به روز می شود.

بدن پاسخگو

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:

نمایندگی JSON
{
  "listUpdateResponses": [
    {
      object (ListUpdateResponse)
    }
  ],
  "minimumWaitDuration": string
}
فیلدها
listUpdateResponses[]

object ( ListUpdateResponse )

به روز رسانی لیست درخواست شده توسط مشتریان. تعداد پاسخ ها در اینجا ممکن است کمتر از تعداد درخواست های ارسال شده توسط مشتریان باشد. به عنوان مثال، اگر سرور هیچ به روز رسانی برای یک لیست خاص نداشته باشد، چنین است.

minimumWaitDuration

string ( Duration format)

حداقل مدت زمانی که مشتری باید قبل از صدور هرگونه درخواست به‌روزرسانی منتظر بماند. اگر این فیلد تنظیم نشده باشد، مشتریان می توانند به محض اینکه بخواهند به روز شوند.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

ListUpdateRequest

یک درخواست به‌روزرسانی فهرست واحد.

نمایندگی JSON
{
  "threatType": enum (ThreatType),
  "platformType": enum (PlatformType),
  "threatEntryType": enum (ThreatEntryType),
  "state": string,
  "constraints": {
    object (Constraints)
  }
}
فیلدها
threatType

enum ( ThreatType )

نوع تهدید ناشی از ورودی های موجود در لیست.

platformType

enum ( PlatformType )

نوع پلت فرم در معرض خطر بر اساس ورودی های موجود در لیست.

threatEntryType

enum ( ThreatEntryType )

انواع ورودی های موجود در لیست

state

string ( bytes format)

وضعیت فعلی مشتری برای لیست درخواستی (وضعیت مشتری رمزگذاری شده که از آخرین به روز رسانی موفق لیست دریافت شده است).

رشته ای با کد base64.

constraints

object ( Constraints )

محدودیت های مرتبط با این درخواست

محدودیت ها

محدودیت های این به روز رسانی

نمایندگی JSON
{
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum (CompressionType)
  ],
  "language": string,
  "deviceLocation": string
}
فیلدها
maxUpdateEntries

integer

حداکثر اندازه در تعداد ورودی ها. این به‌روزرسانی شامل ورودی‌های بیشتر از این مقدار نخواهد بود. این باید توان 2 بین 2**10 و 2**20 باشد. اگر صفر باشد، هیچ محدودیتی برای اندازه به‌روزرسانی تعیین نشده است.

maxDatabaseEntries

integer

حداکثر تعداد ورودی هایی که مشتری مایل است در پایگاه داده محلی برای لیست مشخص شده داشته باشد را تنظیم می کند. این باید توان 2 بین 2**10 و 2**20 باشد. اگر صفر باشد، هیچ محدودیتی برای اندازه پایگاه داده تعیین نمی شود.

region

string

لیست را برای یک مکان جغرافیایی خاص درخواست می کند. اگر تنظیم نشود، سرور ممکن است آن مقدار را بر اساس آدرس IP کاربر انتخاب کند. انتظار می رود ISO 3166-1 قالب آلفا-2.

supportedCompressions[]

enum ( CompressionType )

انواع فشرده سازی که توسط مشتری پشتیبانی می شود.

language

string

لیست ها را برای یک زبان خاص درخواست می کند. انتظار می رود ISO 639 آلفا-2 فرمت.

deviceLocation

string

مکان فیزیکی مشتری، که به عنوان کد منطقه آلفا-2 ISO 31166-1 بیان شده است.

نوع فشرده سازی

روش هایی که می توان مجموعه های ورودی تهدید را فشرده کرد.

Enums
COMPRESSION_TYPE_UNSPECIFIED ناشناس.
RAW داده های خام و فشرده نشده
RICE داده های رمزگذاری شده Rice-Golomb.

ListUpdateResponse

به روز رسانی یک لیست فردی.

نمایندگی JSON
{
  "threatType": enum (ThreatType),
  "threatEntryType": enum (ThreatEntryType),
  "platformType": enum (PlatformType),
  "responseType": enum (ResponseType),
  "additions": [
    {
      object (ThreatEntrySet)
    }
  ],
  "removals": [
    {
      object (ThreatEntrySet)
    }
  ],
  "newClientState": string,
  "checksum": {
    object (Checksum)
  }
}
فیلدها
threatType

enum ( ThreatType )

نوع تهدیدی که داده برای آن برگردانده می شود.

threatEntryType

enum ( ThreatEntryType )

قالب تهدیدات

platformType

enum ( PlatformType )

نوع پلتفرمی که داده برای آن برگردانده می شود.

responseType

enum ( ResponseType )

نوع پاسخ. این ممکن است نشان دهنده این باشد که هنگام دریافت پاسخ، مشتری به یک اقدام نیاز دارد.

additions[]

object ( ThreatEntrySet )

مجموعه ای از ورودی ها برای افزودن به لیست نوع تهدید محلی. تکرار می‌شود تا ترکیبی از داده‌های فشرده و خام در یک پاسخ ارسال شود.

removals[]

object ( ThreatEntrySet )

مجموعه ای از ورودی ها برای حذف از لیست نوع تهدید محلی. در عمل، این فیلد خالی است یا دقیقاً حاوی یک ThreatEntrySet است.

newClientState

string ( bytes format)

حالت مشتری جدید، در قالب رمزگذاری شده. غیر شفاف برای مشتریان

رشته ای با کد base64.

checksum

object ( Checksum )

هش مورد انتظار SHA256 از حالت کلاینت؛ یعنی لیست مرتب شده همه هش های موجود در پایگاه داده پس از اعمال به روز رسانی ارائه شده. اگر حالت سرویس گیرنده با وضعیت مورد انتظار مطابقت نداشته باشد، مشتری باید این به‌روزرسانی را نادیده بگیرد و بعداً دوباره امتحان کند.

نوع پاسخ

نوع پاسخ ارسال شده به مشتری

Enums
RESPONSE_TYPE_UNSPECIFIED ناشناس.
PARTIAL_UPDATE به روز رسانی های جزئی در پایگاه داده محلی موجود مشتری اعمال می شود.
FULL_UPDATE به روز رسانی کامل جایگزین کل پایگاه داده محلی مشتری می شود. این به این معنی است که یا مشتری به طور جدی منسوخ شده است یا اینکه مشتری فاسد است.

ThreatEntrySet

مجموعه ای از تهدیدات که باید از پایگاه داده محلی مشتری اضافه یا حذف شوند.

نمایندگی JSON
{
  "compressionType": enum (CompressionType),
  "rawHashes": {
    object (RawHashes)
  },
  "rawIndices": {
    object (RawIndices)
  },
  "riceHashes": {
    object (RiceDeltaEncoding)
  },
  "riceIndices": {
    object (RiceDeltaEncoding)
  }
}
فیلدها
compressionType

enum ( CompressionType )

نوع فشرده سازی برای ورودی های این مجموعه.

rawHashes

object ( RawHashes )

ورودی های خام با قالب SHA256.

rawIndices

object ( RawIndices )

شاخص های حذف خام برای یک لیست محلی.

riceHashes

object ( RiceDeltaEncoding )

پیشوندهای کدگذاری شده 4 بایتی ورودی های با فرمت SHA256، با استفاده از رمزگذاری Golomb-Rice. هش ها به uint32 تبدیل می شوند، به ترتیب صعودی مرتب می شوند، سپس دلتا کدگذاری می شوند و به عنوان encodedData ذخیره می شوند.

riceIndices

object ( RiceDeltaEncoding )

فهرست‌های محلی رمزگذاری‌شده، واژگانی مرتب‌شده، با استفاده از رمزگذاری Golomb-Rice. برای ارسال شاخص های حذف فشرده استفاده می شود. شاخص های حذف (uint32) به ترتیب صعودی مرتب می شوند، سپس دلتا کدگذاری می شوند و به عنوان encodedData ذخیره می شوند.

RawHashs

تهدیدهای فشرده نشده در قالب هش با طول پیشوند خاص وارد می شود. اندازه هش ها می تواند از 4 تا 32 بایت باشد. اکثریت بزرگ 4 بایت هستند، اما برخی از هش ها در صورت برخورد با هش URL محبوب، طولانی تر می شوند.

برای ارسال ThreatEntrySet به کلاینت هایی که از فشرده سازی پشتیبانی نمی کنند یا هنگام ارسال هش های غیر 4 بایتی به کلاینت هایی که از فشرده سازی پشتیبانی می کنند استفاده می شود.

نمایندگی JSON
{
  "prefixSize": integer,
  "rawHashes": string
}
فیلدها
prefixSize

integer

تعداد بایت ها برای هر پیشوند در زیر کدگذاری شده است. این فیلد می تواند از 4 (کوتاه ترین پیشوند) تا 32 (هش کامل SHA256) باشد.

rawHashes

string ( bytes format)

هش ها، در قالب باینری، به یک رشته طولانی متصل می شوند. هش ها به ترتیب واژگانی مرتب شده اند. برای کاربران JSON API، هش ها با پایه 64 کدگذاری می شوند.

رشته ای با کد base64.

شاخص های خام

مجموعه ای از شاخص های خام برای حذف از یک لیست محلی.

نمایندگی JSON
{
  "indices": [
    integer
  ]
}
فیلدها
indices[]

integer

شاخص هایی که باید از فهرست محلی مرتب شده از نظر لغوی حذف شوند.

RiceDeltaEncoding

داده های رایس-گلومب رمزگذاری شده است. برای ارسال هش های فشرده 4 بایتی یا شاخص های حذف فشرده استفاده می شود.

نمایندگی JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "numEntries": integer,
  "encodedData": string
}
فیلدها
firstValue

string ( int64 format)

افست اولین ورودی در داده های رمزگذاری شده، یا اگر فقط یک عدد صحیح رمزگذاری شده باشد، مقدار آن عدد صحیح منفرد. اگر فیلد خالی یا مفقود است، صفر را فرض کنید.

riceParameter

integer

پارامتر Golomb-Rice که عددی بین 2 تا 28 است. اگر numEntries صفر باشد، این قسمت وجود ندارد (یعنی صفر).

numEntries

integer

تعداد ورودی هایی که در داده های کدگذاری شده دلتا کدگذاری می شوند. اگر فقط یک عدد صحیح رمزگذاری شده باشد، این عدد صفر خواهد بود و مقدار واحد در firstValue ذخیره می شود.

encodedData

string ( bytes format)

دلتاهای کدگذاری شده که با استفاده از رمزگذار Golomb-Rice کدگذاری می شوند.

رشته ای با کد base64.

چک جمع

وضعیت مورد انتظار پایگاه داده محلی یک مشتری.

نمایندگی JSON
{
  "sha256": string
}
فیلدها
sha256

string ( bytes format)

هش SHA256 حالت مشتری؛ یعنی لیست مرتب شده همه هش های موجود در پایگاه داده.

رشته ای با کد base64.