长时间运行的操作

Submission API 是异步进行的,并返回长时间运行的操作。当方法返回响应时,操作可能尚未完成。

获取操作状态

下面介绍了如何轮询操作的状态。

对操作类型调用 GET 方法。

在使用任何请求数据之前,请先进行以下替换:

  • project-number:您的 Google Cloud 项目编号
  • operation-id:您的操作 ID

HTTP 方法和网址:

GET https://webrisk.googleapis.com/v1/projects/project-number/operations/operation-id

如需发送请求,请选择以下方式之一:

curl

执行以下命令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://webrisk.googleapis.com/v1/projects/project-number/operations/operation-id"

PowerShell

执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://webrisk.googleapis.com/v1/projects/project-number/operations/operation-id" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/project-number/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.webrisk.v1.SubmitUriMetadata",
    "state": "RUNNING"
  }
  "done": false,
  ...
}

了解操作状态

响应中的 metadata.state 字段表示提交的当前状态。操作完成后,SubmitUriMetadata 中的 state 字段会更新。可能的状态如下:

  • SUCCEEDED:表示提交的网址已添加到安全浏览屏蔽名单中。
  • CLOSED:表示提交的网址未添加到安全浏览屏蔽名单中,因为未发现该网址违反安全浏览政策。
  • RUNNING:表示提交内容仍在处理中。

了解“已关闭”状态的原因

当操作状态为 CLOSED 时,SubmitUriMetadata 可能会包含 closed_reason 字段。此字段提供了有关为何在未将相应网址添加到屏蔽名单的情况下关闭提交内容的更多背景信息。

closed_reason 的可能值如下:

  • CLOSED_REASON_UNSPECIFIED:未指定原因。
  • NO_THREAT_DETECTED:
    • 说明:提交的网址已成功分析,未发现包含恶意内容。这表示,根据我们的分析,相应网址不符合列入封锁名单的条件。
    • 建议采取的用户操作:通常无需对该网址采取进一步行动,因为我们未发现该网址存在威胁。除非内容发生变化并出现新的恶意活动证据,否则请勿重复重新提交。
  • HOST_UNRESOLVABLE:
    • 说明:我们无法完成分析,因为网址的主机名无法通过 DNS 解析。这通常意味着网站已关闭、网域已不存在,或者存在临时 DNS 问题。我们无法将无效网址或占位网址添加到屏蔽名单中。
    • 建议采取的用户操作
      • 验证网址:确保主机名正确,并且网站处于有效状态且可公开访问。
      • 重新提交:如果您确认网站处于有效状态,可以稍后重新提交网址。
  • CONTENT_UNREACHABLE:
    • 说明:由于无法访问网站内容,因此无法完成分析。出现这种情况的原因有很多,例如:
      • 相应网页已不存在(这是“404 找不到”错误)。
      • 网站的服务器遇到了错误(这是“5xx 服务器错误”)。
      • 网站可能向我们的分析系统展示的内容与向普通访问者展示的内容不同(这是伪装真实内容),从而妨碍我们进行全面评估。
    • 建议采取的用户操作
      • 检查可访问性:确认恶意内容是否可访问。请注意,某些网站可能仅在特定条件下(例如在特定地理位置、设备或浏览器中)显示恶意内容。
      • 提供更多背景信息:如果该网址在特定条件下可访问,请重新提交。使用 SubmitUriRequest 中的 ThreatDiscovery 字段提供更多详细信息,例如发现威胁的区域和平台。这些信息有助于提高分析成功率。