跳到正文

样本传播趋势查询

接口说明

输入文件的 MD5 值、时间范围,查询该文件样本在指定时间范围内的传播数据(访问量),返回结构化的趋势统计结果。

推荐应用场景

分析样本在一段时间内的访问量(pv)的变化

请求地址

https://api.f.360.cn/files/std/internal/v2/md5_trend

请求方法

POST

请求参数

参数名类型位置是否必填示例值说明
queryobjectbody是
{
  "keywords": [
    {
      "field": "md5",
      "value": "35545d891ea9370dfef9a8a2ab1cf95d"
    },
    {
      "field": "dim",
      "value": "day"
    },
    {
      "field": "start_date",
      "value": "2021-01-01"
    },
    {
      "field": "end_date",
      "value": "2021-03-31"
    }
  ]
}
查询条件,所有请求参数的父级结构
query.keywordsArray(object)body是
[
  {
    "field": "md5",
    "value": "35545d891ea9370dfef9a8a2ab1cf95d"
  },
  {
    "field": "dim",
    "value": "day"
  },
  {
    "field": "start_date",
    "value": "2021-01-01"
  },
  {
    "field": "end_date",
    "value": "2021-03-31"
  }
]
查询条件,所有请求参数的子级结构
query.keywords.[0].fieldstringbody是md5查询条件的字段名,支持的字段为md5
query.keywords.[0].valuestringbody是35545d891ea9370dfef9a8a2ab1cf95d查询条件的字段值,为md5形式
query.keywords.[1].fieldstringbody是start_date查询条件的字段名:start_date
query.keywords.[1].valuestringbody是2021-01-01查询时间范围的起始日期
query.keywords.[2].fieldstringbody是end_date查询条件的字段名:end_date
query.keywords.[2].valuestringbody是2021-03-31查询时间范围的截止日期

响应参数

名称类型示例值描述
codestring0响应状态码
dataObject
{
  "day": {
    "2021-01-01": {
      "pv": "1"
    },
    "2021-01-02": {
      "pv": "1"
    }
  }
}
按日期划分的结果列表
data.day.pvstring1MD5的pv值(什么是pv)
msgstringok响应状态信息
statusnumber0目前无实际意义,固定为0

请求示例

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

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

APPID=""  # apikey
SECRET=""  # salt
URL="https://api.f.360.cn/files/std/internal/v2/md5_trend"
BODY='{"query":{"keywords":[{"field":"md5","value":"35545d891ea9370dfef9a8a2ab1cf95d"},{"field":"start_date","value":"2021-01-01"},{"field":"end_date","value":"2021-03-31"}]}}'

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": {
    "day": {
      "2021-01-01": {
        "pv": "10"
      },
      "2021-01-02": {
        "pv": "10"
      }
    }
  },
  "msg": "ok",
  "status": 0
}

业务异常响应

{
  "code": "GS00301",
  "msg": "param missing"
}