Method: threatListUpdates.fetch

ดึงข้อมูลการอัปเดตรายการภัยคุกคามล่าสุด ลูกค้าขออัปเดตหลายรายการพร้อมกันได้

คำขอ HTTP

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

URL ใช้ไวยากรณ์การแปลง gRPC

เนื้อหาของคำขอ

เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างต่อไปนี้

การแสดง 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)

ระยะเวลาขั้นต่ำที่ลูกค้าต้องรอก่อนที่จะส่งคำขออัปเดต หากไม่ได้ตั้งค่าช่องนี้ ลูกค้าจะอัปเดตได้ทันทีที่ต้องการ

ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย "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)

สถานะปัจจุบันของไคลเอ็นต์สำหรับรายการที่ขอ (สถานะไคลเอ็นต์ที่เข้ารหัสซึ่งได้รับจากการอัปเดตรายการที่สำเร็จครั้งล่าสุด)

สตริงที่เข้ารหัสฐาน 64

constraints

object (Constraints)

ข้อจำกัดที่เชื่อมโยงกับคำขอนี้

ข้อจำกัด

ข้อจำกัดสำหรับการอัปเดตนี้

การแสดง JSON
{
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum (CompressionType)
  ],
  "language": string,
  "deviceLocation": string
}
ช่อง
maxUpdateEntries

integer

จำนวนรายการสูงสุด การอัปเดตจะไม่มีรายการมากกว่าค่านี้ ค่านี้ควรเป็นเลขยกกำลัง 2 ระหว่าง 2**10 ถึง 2**20 หากเป็น 0 แสดงว่าไม่มีการกำหนดขนาดการอัปเดตสูงสุดไว้

maxDatabaseEntries

integer

ตั้งค่าจำนวนรายการสูงสุดที่ไคลเอ็นต์ต้องการให้มีในฐานข้อมูลของเครื่องสำหรับรายการที่ระบุ ค่านี้ควรเป็นเลขยกกำลัง 2 ระหว่าง 2**10 ถึง 2**20 หากเป็น 0 ระบบจะไม่ตั้งค่าขีดจำกัดของขนาดฐานข้อมูล

region

string

ขอรายการสำหรับตำแหน่งทางภูมิศาสตร์ที่เฉพาะเจาะจง หากไม่ได้ตั้งค่า เซิร์ฟเวอร์อาจเลือกค่าดังกล่าวตามที่อยู่ IP ของผู้ใช้ คาดหวังรูปแบบ ISO 3166-1 alpha-2

supportedCompressions[]

enum (CompressionType)

ประเภทการบีบอัดที่ไคลเอ็นต์รองรับ

language

string

ขอรายการสำหรับภาษาที่เฉพาะเจาะจง คาดหวังรูปแบบ ISO 639 alpha-2

deviceLocation

string

สถานที่ตั้งทางกายภาพของลูกค้า ซึ่งแสดงเป็นรหัสภูมิภาค ISO 31166-1 alpha-2

CompressionType

วิธีบีบอัดชุดรายการภัยคุกคาม

Enum
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)

สถานะลูกค้าใหม่ในรูปแบบที่เข้ารหัส ไม่ชัดเจนสำหรับลูกค้า

สตริงที่เข้ารหัสฐาน 64

checksum

object (Checksum)

แฮช SHA256 ที่คาดหวังของสถานะไคลเอ็นต์ ซึ่งก็คือรายการแฮชทั้งหมดที่จัดเรียงแล้วที่มีอยู่ในฐานข้อมูลหลังจากนำการอัปเดตที่ให้มาไปใช้ หากสถานะของไคลเอ็นต์ไม่ตรงกับสถานะที่คาดไว้ ไคลเอ็นต์จะต้องเพิกเฉยต่อการอัปเดตนี้และลองอีกครั้งในภายหลัง

ResponseType

ประเภทการตอบกลับที่ส่งไปยังไคลเอ็นต์

Enum
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 โดยจัดเรียงจากน้อยไปหามาก จากนั้นมีการเข้ารหัสแบบเดลต้าและจัดเก็บเป็น encryptedData

riceIndices

object (RiceDeltaEncoding)

ดัชนีรายการแบบจัดเรียงด้วยพจนานุกรมในเครื่องที่เข้ารหัสโดยใช้การเข้ารหัส Golomb-Rice ใช้สำหรับส่งดัชนีการลบที่บีบอัด ดัชนีการนำออก (uint32) จะจัดเรียงตามลำดับจากน้อยไปมาก จากนั้นมีการเข้ารหัสแบบเดลต้าและจัดเก็บเป็น encryptedData

RawHashes

รายการภัยคุกคามที่ไม่ได้บีบอัดในรูปแบบแฮชที่มีความยาวของคำนำหน้าเฉพาะเจาะจง แฮชสามารถมีขนาดได้ตั้งแต่ 4 ถึง 32 ไบต์ แฮชส่วนใหญ่มีขนาด 4 ไบต์ แต่แฮชบางรายการจะยาวขึ้นหากขัดแย้งกับแฮชของ URL ยอดนิยม

ใช้เพื่อส่ง ThreatEntrySet ไปยังไคลเอ็นต์ที่ไม่รองรับการบีบอัด หรือเมื่อส่งแฮชที่ไม่ใช่ 4 ไบต์ไปยังไคลเอ็นต์ที่รองรับการบีบอัด

การแสดง JSON
{
  "prefixSize": integer,
  "rawHashes": string
}
ช่อง
prefixSize

integer

จำนวนไบต์ของคำนำหน้าแต่ละรายการที่เข้ารหัสด้านล่าง ช่องนี้เป็นช่องใดก็ได้ตั้งแต่ 4 (ส่วนนำหน้าที่สั้นที่สุด) จนถึง 32 (แฮช SHA256 แบบเต็ม)

rawHashes

string (bytes format)

แฮชในรูปแบบไบนารีจะต่อกันเป็นสตริงแบบยาว 1 สตริง แฮชจะจัดเรียงตามลำดับพจนานุกรม สำหรับผู้ใช้ JSON API แฮชจะเข้ารหัสฐาน 64

สตริงที่เข้ารหัสฐาน 64

RawIndices

ชุดดัชนีดิบที่จะนำออกจากรายการในเครื่อง

การแสดง JSON
{
  "indices": [
    integer
  ]
}
ช่อง
indices[]

integer

ดัชนีที่จะนำออกจากรายการท้องถิ่นที่จัดเรียงแบบพจนานุกรม

RiceDeltaEncoding

ข้อมูลที่เข้ารหัส Rice-Golomb ใช้เพื่อส่งแฮช 4 ไบต์ที่บีบอัดหรือดัชนีการลบที่บีบอัด

การแสดง JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "numEntries": integer,
  "encodedData": string
}
ช่อง
firstValue

string (int64 format)

ค่าออฟเซ็ตของรายการแรกในข้อมูลที่เข้ารหัส หรือหากมีการเข้ารหัสจำนวนเต็มค่าเดียว ก็จะใช้ค่าของจำนวนเต็มค่าเดียวนั้น หากช่องว่างเปล่าหรือขาดหายไป ระบบจะถือว่าเป็น 0

riceParameter

integer

พารามิเตอร์ Golomb-Rice ซึ่งเป็นตัวเลขระหว่าง 2 ถึง 28 หากไม่มีฟิลด์นี้ (ซึ่งก็คือ 0) หาก numEntries เป็น 0

numEntries

integer

จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มค่าเดียว ค่านี้จะเป็น 0 และจะเก็บค่าเดี่ยวไว้ใน firstValue

encodedData

string (bytes format)

เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice

สตริงที่เข้ารหัสฐาน 64

ตรวจสอบข้อผิดพลาด

สถานะที่ต้องการของฐานข้อมูลภายในของไคลเอ็นต์

การแสดง JSON
{
  "sha256": string
}
ช่อง
sha256

string (bytes format)

แฮช SHA256 ของสถานะไคลเอ็นต์ ซึ่งก็คือรายการแฮชทั้งหมดที่จัดเรียงแล้วที่มีอยู่ในฐานข้อมูล

สตริงที่เข้ารหัสฐาน 64