Method: threatListUpdates.fetch

Tìm nạp thông tin cập nhật gần đây nhất về danh sách các mối đe doạ. Khách hàng có thể yêu cầu thông tin cập nhật cho nhiều danh sách cùng một lúc.

Yêu cầu HTTP

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

URL sử dụng cú pháp Chuyển mã gRPC.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "client": {
    object (ClientInfo)
  },
  "listUpdateRequests": [
    {
      object (ListUpdateRequest)
    }
  ]
}
Các trường
client

object (ClientInfo)

Siêu dữ liệu của ứng dụng.

listUpdateRequests[]

object (ListUpdateRequest)

Thông tin cập nhật về danh sách mối đe doạ được yêu cầu.

Nội dung phản hồi

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "listUpdateResponses": [
    {
      object (ListUpdateResponse)
    }
  ],
  "minimumWaitDuration": string
}
Các trường
listUpdateResponses[]

object (ListUpdateResponse)

Nội dung cập nhật danh sách do khách hàng yêu cầu. Số lượng phản hồi ở đây có thể ít hơn số lượng yêu cầu mà khách hàng gửi. Trường hợp này xảy ra, chẳng hạn như khi máy chủ không có bản cập nhật nào cho một danh sách cụ thể.

minimumWaitDuration

string (Duration format)

Khoảng thời gian tối thiểu mà khách hàng phải chờ trước khi gửi yêu cầu cập nhật. Nếu bạn không đặt trường này, ứng dụng có thể cập nhật ngay khi muốn.

Thời lượng tính bằng giây có tối đa 9 chữ số phân số, kết thúc bằng 's'. Ví dụ: "3.5s".

ListUpdateRequest

Một yêu cầu cập nhật danh sách duy nhất.

Biểu diễn dưới dạng JSON
{
  "threatType": enum (ThreatType),
  "platformType": enum (PlatformType),
  "threatEntryType": enum (ThreatEntryType),
  "state": string,
  "constraints": {
    object (Constraints)
  }
}
Các trường
threatType

enum (ThreatType)

Loại mối đe doạ do các mục có trong danh sách gây ra.

platformType

enum (PlatformType)

Loại nền tảng gặp rủi ro theo các mục có trong danh sách.

threatEntryType

enum (ThreatEntryType)

Các loại mục nhập có trong danh sách.

state

string (bytes format)

Trạng thái hiện tại của ứng dụng cho danh sách được yêu cầu (trạng thái ứng dụng được mã hoá nhận được từ lần cập nhật danh sách thành công gần đây nhất).

Chuỗi được mã hoá base64.

constraints

object (Constraints)

Các quy tắc ràng buộc liên quan đến yêu cầu này.

Giới hạn

Những điều kiện ràng buộc đối với bản cập nhật này.

Biểu diễn dưới dạng JSON
{
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum (CompressionType)
  ],
  "language": string,
  "deviceLocation": string
}
Các trường
maxUpdateEntries

integer

Kích thước tối đa tính theo số mục nhập. Bản cập nhật sẽ không chứa nhiều mục nhập hơn giá trị này. Đây phải là luỹ thừa của 2 từ 2**10 đến 2**20. Nếu 0 thì sẽ không có giới hạn kích thước bản cập nhật nào được đặt.

maxDatabaseEntries

integer

Thiết lập số lượng mục nhập tối đa mà ứng dụng sẵn sàng thêm vào cơ sở dữ liệu cục bộ cho danh sách được chỉ định. Đây phải là luỹ thừa của 2 từ 2**10 đến 2**20. Nếu 0 thì sẽ không có giới hạn kích thước cơ sở dữ liệu nào được đặt.

region

string

Yêu cầu danh sách cho một vị trí địa lý cụ thể. Nếu bạn không đặt chính sách này, máy chủ có thể chọn giá trị đó dựa trên địa chỉ IP của người dùng. Yêu cầu định dạng ISO 3166-1 alpha-2.

supportedCompressions[]

enum (CompressionType)

Các loại nén được ứng dụng hỗ trợ.

language

string

Yêu cầu danh sách cho một ngôn ngữ cụ thể. Yêu cầu định dạng ISO 639 alpha-2.

deviceLocation

string

Vị trí thực tế của khách hàng, được biểu thị bằng mã vùng ISO 31166-1 alpha-2.

CompressionType

Các cách nén nhóm mục nhập mối đe doạ.

Enum
COMPRESSION_TYPE_UNSPECIFIED Không xác định.
RAW Dữ liệu thô, chưa nén.
RICE Dữ liệu mã hoá Gạo-Golomb.

ListUpdateResponse

Cập nhật cho từng danh sách.

Biểu diễn dưới dạng JSON
{
  "threatType": enum (ThreatType),
  "threatEntryType": enum (ThreatEntryType),
  "platformType": enum (PlatformType),
  "responseType": enum (ResponseType),
  "additions": [
    {
      object (ThreatEntrySet)
    }
  ],
  "removals": [
    {
      object (ThreatEntrySet)
    }
  ],
  "newClientState": string,
  "checksum": {
    object (Checksum)
  }
}
Các trường
threatType

enum (ThreatType)

Loại mối đe doạ mà dữ liệu được trả về.

threatEntryType

enum (ThreatEntryType)

Hình thức của các mối đe doạ.

platformType

enum (PlatformType)

Loại nền tảng mà dữ liệu được trả về.

responseType

enum (ResponseType)

Loại phản hồi. Điều này có thể cho thấy ứng dụng khách cần thực hiện một hành động khi nhận được phản hồi.

additions[]

object (ThreatEntrySet)

Một tập hợp các mục cần thêm vào danh sách loại mối đe doạ cục bộ. Lặp lại để cho phép gửi kết hợp dữ liệu thô và dữ liệu nén trong một phản hồi.

removals[]

object (ThreatEntrySet)

Một tập hợp các mục cần xoá khỏi danh sách của loại mối đe doạ cục bộ. Trong thực tế, trường này để trống hoặc chứa đúng một ReturnEntrySet.

newClientState

string (bytes format)

Trạng thái ứng dụng mới, ở định dạng đã mã hoá. Mờ đối với khách hàng.

Chuỗi được mã hoá base64.

checksum

object (Checksum)

Hàm băm SHA256 dự kiến của trạng thái ứng dụng; tức là danh sách được sắp xếp gồm tất cả hàm băm có trong cơ sở dữ liệu sau khi áp dụng bản cập nhật đã cung cấp. Nếu trạng thái không khớp với trạng thái dự kiến, thì ứng dụng phải bỏ qua nội dung cập nhật này rồi thử lại sau.

ResponseType

Loại phản hồi được gửi đến ứng dụng.

Enum
RESPONSE_TYPE_UNSPECIFIED Không xác định.
PARTIAL_UPDATE Nội dung cập nhật một phần được áp dụng cho cơ sở dữ liệu cục bộ hiện có của ứng dụng.
FULL_UPDATE Toàn bộ bản cập nhật sẽ thay thế toàn bộ cơ sở dữ liệu cục bộ của ứng dụng. Điều này có nghĩa là ứng dụng đã quá lỗi thời hoặc bị cho là đã bị lỗi.

ThreatEntrySet

Một nhóm các mối đe doạ cần được thêm vào hoặc xoá khỏi cơ sở dữ liệu cục bộ của ứng dụng.

Biểu diễn dưới dạng JSON
{
  "compressionType": enum (CompressionType),
  "rawHashes": {
    object (RawHashes)
  },
  "rawIndices": {
    object (RawIndices)
  },
  "riceHashes": {
    object (RiceDeltaEncoding)
  },
  "riceIndices": {
    object (RiceDeltaEncoding)
  }
}
Các trường
compressionType

enum (CompressionType)

Kiểu nén cho các mục trong tập hợp này.

rawHashes

object (RawHashes)

Các mục nhập có định dạng SHA256 thô.

rawIndices

object (RawIndices)

Các chỉ mục xoá thô cho một danh sách cục bộ.

riceHashes

object (RiceDeltaEncoding)

Tiền tố 4 byte được mã hoá của các mục nhập theo định dạng SHA256, sử dụng phương thức mã hoá Golomb-Rice. Các hàm băm được chuyển đổi thành uint32, được sắp xếp theo thứ tự tăng dần, sau đó delta được mã hoá và lưu trữ dưới dạng encryptedData.

riceIndices

object (RiceDeltaEncoding)

Các chỉ mục danh sách cục bộ được mã hoá, được sắp xếp theo từ vựng, sử dụng phương thức mã hoá Golomb-Rice. Dùng để gửi các chỉ mục xoá đã nén. Các chỉ mục xoá (uint32) được sắp xếp theo thứ tự tăng dần, sau đó delta được mã hoá và lưu trữ dưới dạng encryptedData.

RawHashes

Các mục mối đe doạ chưa nén ở định dạng băm với độ dài tiền tố cụ thể. Hàm băm có thể có kích thước từ 4 đến 32 byte. Phần lớn có kích thước là 4 byte, nhưng một số hàm băm sẽ kéo dài nếu chúng xung đột với hàm băm của một URL phổ biến.

Dùng để gửi hiểmEntrySet cho các ứng dụng không hỗ trợ quá trình nén hoặc khi gửi các hàm băm không phải 4 byte cho các ứng dụng có hỗ trợ tính năng nén.

Biểu diễn dưới dạng JSON
{
  "prefixSize": integer,
  "rawHashes": string
}
Các trường
prefixSize

integer

Số byte cho từng tiền tố được mã hoá dưới đây. Trường này có thể ở bất cứ đâu từ 4 (tiền tố ngắn nhất) đến 32 (hàm băm SHA256 đầy đủ).

rawHashes

string (bytes format)

Các hàm băm ở định dạng nhị phân được nối thành một chuỗi dài. Các hàm băm được sắp xếp theo thứ tự từ vựng. Đối với người dùng API JSON, hàm băm được mã hoá base64.

Chuỗi được mã hoá base64.

RawIndices

Một tập hợp các chỉ mục thô cần xoá khỏi danh sách cục bộ.

Biểu diễn dưới dạng JSON
{
  "indices": [
    integer
  ]
}
Các trường
indices[]

integer

Các chỉ mục cần xoá khỏi danh sách địa phương được sắp xếp theo từ ngữ.

RiceDeltaEncoding

Dữ liệu đã mã hoá Gạo-Golomb. Dùng để gửi các hàm băm nén 4 byte hoặc chỉ mục xoá đã nén.

Biểu diễn dưới dạng JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "numEntries": integer,
  "encodedData": string
}
Các trường
firstValue

string (int64 format)

Độ lệch của mục đầu tiên trong dữ liệu được mã hoá hoặc giá trị của số nguyên đó nếu chỉ có một số nguyên được mã hoá. Nếu trường này trống hoặc bị thiếu, giả sử là 0.

riceParameter

integer

Tham số Golomb-Rice, là một số từ 2 đến 28. Trường này bị thiếu (nghĩa là 0) nếu numEntries bằng 0.

numEntries

integer

Số mục nhập là delta được mã hoá trong dữ liệu đã mã hoá. Nếu chỉ có một số nguyên được mã hoá thì giá trị này sẽ bằng 0 và giá trị duy nhất sẽ được lưu trữ trong firstValue.

encodedData

string (bytes format)

Các delta đã mã hoá được mã hoá bằng trình lập trình Golomb-Rice.

Chuỗi được mã hoá base64.

Checksum

Trạng thái dự kiến của cơ sở dữ liệu cục bộ của ứng dụng.

Biểu diễn dưới dạng JSON
{
  "sha256": string
}
Các trường
sha256

string (bytes format)

Hàm băm SHA256 của trạng thái ứng dụng; tức là danh sách được sắp xếp gồm tất cả hàm băm có trong cơ sở dữ liệu.

Chuỗi được mã hoá base64.