Выполняет поиск полных хешей, соответствующих указанным префиксам.
Это пользовательский метод, как определено в https://google.aip.dev/136 (пользовательский метод означает, что этот метод имеет собственное имя в рамках общей номенклатуры разработки API Google; он не относится к использованию пользовательского HTTP-метода).
HTTP-запрос
GET https://safebrowsing.googleapis.com/v5/hashes:search
В URL-адресе используется синтаксис транскодирования gRPC .
Параметры запроса
| Параметры | |
|---|---|
hashPrefixes[] | Обязательно. Хэш-префиксы, которые необходимо найти. Клиенты НЕ ДОЛЖНЫ отправлять более 1000 хэш-префиксов. Однако, в соответствии с процедурой обработки URL-адресов, клиентам НЕ ДОЛЖНО потребоваться отправлять более 30 хэш-префиксов. В настоящее время длина каждого префикса хеша должна составлять ровно 4 байта. В будущем это требование МОЖЕТ быть смягчено. Строка, закодированная в формате Base64. |
Текст запроса
Тело запроса должно быть пустым.
Ответный текст
Ответ был получен после поиска по хэшам угроз.
Если ничего не найдено, сервер вернет статус OK (код состояния HTTP 200) с пустым полем fullHashes , вместо статуса NOT_FOUND (код состояния HTTP 404).
Что нового в версии 5 : Разделение между FullHash и FullHashDetail . В случае, когда хеш представляет сайт, содержащий несколько угроз (например, как вредоносное ПО, так и социальная инженерия), полный хеш не нужно отправлять дважды, как в версии 4. Кроме того, длительность кэширования упрощена и теперь представляет собой одно поле cacheDuration .
В случае успеха тело ответа содержит данные следующей структуры:
| JSON-представление |
|---|
{
"fullHashes": [
{
object ( |
| Поля | |
|---|---|
fullHashes[] | Неупорядоченный список. Неупорядоченный список найденных полных хешей. |
cacheDuration | Длительность кэширования на стороне клиента. Клиент ОБЯЗАТЕЛЬНО должен добавить эту длительность к текущему времени, чтобы определить время истечения срока действия. Время истечения срока действия затем применяется ко всем префиксам хешей, запрашиваемым клиентом в запросе, независимо от того, сколько полных хешей возвращается в ответе. Даже если сервер не возвращает полных хешей для конкретного префикса хешей, этот факт также ДОЛЖЕН быть кэширован клиентом. Только если поле Важно: клиент НЕ ДОЛЖЕН предполагать, что сервер вернет одинаковую продолжительность кэширования для всех ответов. Сервер МОЖЕТ выбрать разную продолжительность кэширования для разных ответов в зависимости от ситуации. Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « |
FullHash
Полный хеш, соответствующий одному или нескольким совпадениям.
| JSON-представление |
|---|
{
"fullHash": string,
"fullHashDetails": [
{
object ( |
| Поля | |
|---|---|
fullHash | Соответствующий полный хеш. Это хеш SHA256. Длина составит ровно 32 байта. Строка, закодированная в формате Base64. |
fullHashDetails[] | Неупорядоченный список. Повторяющееся поле, определяющее детали, относящиеся к этому полному хешу. |
FullHashDetail
Подробности о совпадающем полном хеше.
Важное замечание относительно обратной совместимости: сервер может в любое время добавлять новые типы угроз и атрибуты угроз; эти дополнения считаются изменениями минорных версий. Политика Google не предусматривает раскрытие номеров минорных версий в API (см. https://cloud.google.com/apis/design/versioning для ознакомления с политикой версионирования), поэтому клиенты ДОЛЖНЫ быть готовы получать сообщения FullHashDetail содержащие значения перечисления ThreatType или ThreatAttribute , которые клиент считает недействительными. Следовательно, клиент несет ответственность за проверку действительности всех значений перечисления ThreatType и ThreatAttribute ; если какое-либо значение считается недействительным, клиент ДОЛЖЕН игнорировать все сообщение FullHashDetail .
| JSON-представление |
|---|
{ "threatType": enum ( |
| Поля | |
|---|---|
threatType | Тип угрозы. Это поле никогда не будет пустым. |
attributes[] | Неупорядоченный список. Дополнительные атрибуты, относящиеся к этим полным хешам. Может быть пустым. |
Атрибут угрозы
Атрибуты угроз. Эти атрибуты могут придавать конкретному угрозе дополнительное значение, но не влияют на её тип. Например, один атрибут может указывать на более низкую степень уверенности, а другой — на более высокую. В будущем могут быть добавлены и другие атрибуты.
| Перечисления | |
|---|---|
THREAT_ATTRIBUTE_UNSPECIFIED | Неизвестный атрибут. Если сервер вернет этот атрибут, клиент должен полностью проигнорировать содержащийся в нем FullHashDetail . |
CANARY | Указывает, что параметр threatType не следует использовать для обеспечения соблюдения правил. |
FRAME_ONLY | Указывает, что threatType следует использовать только для принудительного применения к кадрам. |