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