Method: threatListUpdates.fetch

Tìm nạp thông tin cập nhật gần đây nhất về danh sách mối đe doạ. Khách hàng có thể yêu cầu 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)
    }
  ]
}
Trường
client

object (ClientInfo)

Siêu dữ liệu ứng dụng.

listUpdateRequests[]

object (ListUpdateRequest)

Cập nhật 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
}
Trường
listUpdateResponses[]

object (ListUpdateResponse)

Cập nhật danh sách mà 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 do ứng dụng khách 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 cho một danh sách cụ thể.

minimumWaitDuration

string (Duration format)

Thời gian tối thiểu mà ứng dụng phải đợi 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 họ muốn.

Thời lượng tính bằng giây với tối đa 9 chữ số thập phân, 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.

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

enum (ThreatType)

Kiểu mối đe doạ do các mục nhập có trong danh sách gây ra.

platformType

enum (PlatformType)

Loại nền tảng có nguy cơ xảy ra trong 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 đối với danh sách được yêu cầu (trạng thái ứng dụng đã mã hoá nhận được từ lần cập nhật danh sách thành công gần đây nhất).

Mộ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

Các quy tắc 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
}
Trường
maxUpdateEntries

integer

Kích thước tối đa của số mục nhập. Nội dung 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 trong khoảng 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

Đặt số lượng mục tối đa mà ứng dụng muốn thêm trong 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 trong khoảng 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 mà ứng dụng hỗ trợ.

language

string

Yêu cầu danh sách cho một ngôn ngữ cụ thể. Cần có đị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ách thức nén các tập hợp 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ã hóa gạo-Golomb.

ListUpdateResponse

Nội dung cập nhật đối với một danh sách riêng lẻ.

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)
  }
}
Trường
threatType

enum (ThreatType)

Kiểu 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 biết rằng ứng dụng cần phải 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 của một kiểu 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 kiểu mối đe doạ cục bộ. Trên 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 của ứng dụng mới, ở định dạng đã mã hoá. Mờ đối với khách hàng.

Một 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 ứng dụng không khớp với trạng thái dự kiến, thì ứng dụng phải bỏ qua lần 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 này đã bị lỗi thời nghiêm trọng hoặc bị cho là bị tham nhũng.

ThreatEntrySet

Một tập hợp 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)
  }
}
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, bằng cách sử dụng mã hoá Golomb-Rice. Các hàm băm được chuyển đổi thành uint32, 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 mã hoá cục bộ, được sắp xếp theo từ điển học, có sử dụng bộ mã hoá Golomb-Rice. Dùng để gửi 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 nhập 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 bất kỳ 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ẽ được 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 ReturnEntrySet cho các ứng dụng không hỗ trợ tính năng nén hoặc khi gửi hàm băm không có 4 byte đến 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
}
Trường
prefixSize

integer

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

rawHashes

string (bytes format)

Các hàm băm, ở định dạng nhị phân, 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.

Một 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
  ]
}
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ừ điển học.

RiceDeltaEncoding

Dữ liệu mã hoá gạo-Golomb. Dùng để gửi các hàm băm 4 byte đã nén 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
}
Trường
firstValue

string (int64 format)

Độ lệch của mục nhập đầu tiên trong dữ liệu được mã hoá hoặc nếu chỉ một số nguyên được mã hoá, thì giá trị của số nguyên đó. Nếu trường này trống hoặc bị thiếu, hãy giả định bằng 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 được mã hoá delta bằng dữ liệu được 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.

Một 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
}
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 đã sắp xếp gồm tất cả hàm băm có trong cơ sở dữ liệu.

Một chuỗi được mã hoá base64.