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ạ. Một 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)
    }
  ]
}
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)

Danh sách cập nhật mà khách hàng yêu cầu. Số lượng phản hồi ở đây có thể ít hơn số yêu cầu do khách hàng gửi. Trong trường hợp này, chẳng hạn như khi máy chủ không có nội dung 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 chờ trước khi đưa ra yêu cầu cập nhật. Nếu bạn không đặt trường này, khách hà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ố 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.

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)

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 đang gặp rủi ro do các mục có trong danh sách.

threatEntryType

enum (ThreatEntryType)

Các loại mục 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).

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

constraints

object (Constraints)

Các điều kiện ràng buộc 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 trong số mục nhập. Bản cập nhật này 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 bằng 0, thì 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ố mục tối đa mà ứng dụng muốn có 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 bằng 0, thì 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ể. 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 theo ISO 31166-1 alpha-2.

CompressionType

Cách nén nhóm truy cậ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 được mã hoá gạo-Golomb.

ListUpdateResponse

Nội dung cập nhật cho 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)

Định dạng 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 cần phải xử lý khi nhận được phản hồi.

additions[]

object (ThreatEntrySet)

Tập hợp các mục cần thêm vào danh sách của 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 đã nén và dữ liệu thô 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 ThreatEntrySet.

newClientState

string (bytes format)

Trạng thái ứng dụng mới, ở định dạng đã mã hoá. Mờ cho 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 mọi hàm băm có trong cơ sở dữ liệu sau khi áp dụng nội dung cập nhật được 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 nội dung cập nhật này và thử lại sau.

ResponseType

Loại phản hồi được gửi đến máy khách.

Enum
RESPONSE_TYPE_UNSPECIFIED Không xác định.
PARTIAL_UPDATE Bản cập nhật một phần sẽ được áp dụng cho cơ sở dữ liệu cục bộ hiện có của ứng dụng.
FULL_UPDATE Các bản cập nhật đầy đủ 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 khách đó đã lỗi thời nghiêm trọng hoặc bị cho là bị cho là hỏng.

ThreatEntrySet

Tập hợp các mối đe doạ cần được thêm vào hoặc loại bỏ 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)

Loại nén cho các mục trong tập hợp này.

rawHashes

object (RawHashes)

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

rawIndices

object (RawIndices)

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

riceHashes

object (RiceDeltaEncoding)

Các tiền tố 4 byte được mã hoá của các mục có đị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, sắp xếp theo thứ tự tăng dần, sau đó được mã hóa delta và lưu trữ dưới dạng encryptedData.

riceIndices

object (RiceDeltaEncoding)

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

RawHashes

Mục nhập mối đe doạ không nén ở định dạng băm có độ 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 dung lượng là 4 byte, nhưng một số hàm băm sẽ được kéo dài nếu xung đột với hàm băm của một URL phổ biến.

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

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

integer

Số byte của mỗi 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 (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ừ điển. Đố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 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 địa phương.

RiceDeltaEncoding

Dữ liệu đã mã hoá gạo-Golomb. Dùng để gửi hàm băm 4 byte hoặc chỉ mục xoá được 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)

Phần bù trừ của mục nhập đầu tiên trong dữ liệu được mã hoá, hoặc nếu chỉ có một số nguyên được mã hoá, thì giá trị của số nguyên đó. Nếu trường trống hoặc bị thiếu, hãy giả định giá trị bằng 0.

riceParameter

integer

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

numEntries

integer

Số mục được mã hoá delta 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ã hóa được mã hóa bằng trình mã hóa Golomb-Rice.

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

Checksum

Trạng thái dự kiến 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 được sắp xếp gồm mọi hàm băm có trong cơ sở dữ liệu.

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