跳到正文

域名通信样本文件溯源查询

接口说明

根据输入的目标域名,查询该域名关联的通信样本文件唯一标识(MD5 值),用于追溯与该域名进行过网络通讯的样本文件。

请求地址

https://api.f.360.cn/domains/std/internal/v2/communicate_files

请求方法

POST

请求参数

参数名类型位置是否必填示例值说明
queryObjectbody是
{
  "keywords": [
    {
      "field": "domain",
      "value": "scloud.360.net"
    }
  ]
}
查询条件,所有请求参数的父级结构
query.keywordsArray(Object)body是
[
  {
    "field": "domain",
    "value": "scloud.360.net"
  }
]
查询条件,所有请求参数的子级结构
query.keywords.fieldStringbody是domain查询条件的字段名,支持的字段有:domain
query.keywords.valueStringbody是www.baidu.com查询条件的字段值,为单个域名

响应参数

名称类型示例值描述
codestring0响应状态码
dataArray(string)
[
  "67b023a101883f66eca55f780ee639fa",
  "e41a7a314802e00ca64aaaf02ca51cb0"
]
根据域名查询通信样本文件hash的md5列表
msgstringok响应状态信息

请求示例

支持cUrl、Python、Java、PHP、Go语言的请求,示例如下

#!/usr/bin/env bash
set -euo pipefail

APPID=""  # apikey
SECRET=""  # salt
URL="https://api.f.360.cn/domains/std/internal/v2/communicate_files"
BODY='{"query":{"keywords":[{"field":"domain","value":"www.baidu.com"}]}}'

NONCE=$(printf '%08d' $((RANDOM % 100000000)))
TIMESTAMP=$(date +%s)
BODY_MD5=$(printf '%s' "$BODY" | openssl dgst -md5 -hex | awk '{print $NF}')
SIGNATURE=$(printf '%s' "${BODY_MD5}${APPID}${NONCE}${TIMESTAMP}${SECRET}" | openssl dgst -md5 -hex | awk '{print $NF}')
SIGNATURE=${SIGNATURE:16}

curl --location --request POST "$URL" \
  --header "Content-Type: application/json" \
  --header "X-360-Key: ${APPID}" \
  --header "X-360-Nonce: ${NONCE}" \
  --header "X-360-Timestamp: ${TIMESTAMP}" \
  --header "X-360-Signature: ${SIGNATURE}" \
  --data "${BODY}"

响应示例

业务正常响应

{
    "_oid": 1,
    "code": "0",
    "data": [
        "1923fa52817404c9858c6d3239ddc258",
        "03a0d16c8cce82e183affdc1a7ecba41",
        "8e45869322ae9a0934c646170f3a29e5",
        "b122b4d51be9d15836817b32aa9a3799",
        "a5f752f15fa27ee01928668a8becfc77",
        "7e46c7ab7d0780060d07ff7afb6eac4b",
        "ec552bc1a340428d1123a30f4e12367d"
    ],
    "msg": "ok",
    "status": 0
}

业务异常响应

{
    "code": "GS00302",
    "msg": "current uri works business now, please try again later"
}