長時間執行的作業

提交 API 為非同步,並會傳回長時間執行的作業。方法傳回回應時,作業可能尚未完成。

取得作業狀態

以下說明如何輪詢作業的狀態。

呼叫 Operations 類型的 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:表示系統仍在處理提交內容。

瞭解「已結案」原因

如果作業狀態為 CLOSEDSubmitUriMetadata 可能會包含 closed_reason 欄位。這個欄位會提供額外背景資訊,說明為何系統關閉提交內容,但未將網址加入封鎖清單。

closed_reason 可能的值如下:

  • CLOSED_REASON_UNSPECIFIED:未指定原因。
  • NO_THREAT_DETECTED
    • 說明:系統已成功分析提交的網址,且未發現惡意內容。這表示根據我們的分析,該網址不符合封鎖清單的條件。
    • 建議採取的行動:這個網址通常不需要採取進一步行動,因為系統未發現威脅。除非內容有變更,且出現新的惡意活動證據,否則請勿重複重新提交。
  • HOST_UNRESOLVABLE
    • 說明:由於 DNS 無法解析網址的主機名稱,因此我們無法完成分析。這通常表示網站已關閉、網域不存在,或是發生暫時性 DNS 問題。我們無法將無效或預留位置網址加入封鎖清單。
    • 建議使用者採取的行動
      • 驗證網址:確認主機名稱正確,且網站有效並可公開存取。
      • 重新提交:確認網站有效後,您可以稍後重新提交網址。
  • CONTENT_UNREACHABLE
    • 說明:無法完成分析,因為系統無法存取網站內容。這可能由許多因素造成,包括:
      • 網頁已不存在 (這是「404 Not Found」錯誤)。
      • 網站伺服器發生錯誤 (這是「5xx 伺服器錯誤」)。
      • 網站向我們的分析系統顯示的內容,可能與一般訪客看到的內容不同 (這是偽裝行為),導致系統無法進行完整評估。
    • 建議使用者採取的行動
      • 檢查可存取性:確認可存取惡意內容。請注意,部分網站可能只會在特定情況下顯示惡意內容 (例如特定地理位置、裝置或瀏覽器)。
      • 提供更多情境資訊:如果網址可在特定條件下存取,請重新提交。使用 SubmitUriRequest 中的 ThreatDiscovery 欄位提供其他詳細資料,例如發現威脅的區域和平台。這項資訊有助於提高分析成功率。