手机开放平台

申请UserKey

在线监测API概述

360在线检测开放平台API提供了一种新的接口调用方式,允许被360授予权限的第三方应用360手机在线监测服务器来检测提交的手机软件安全性(目前支持.apk,.sis,.sisx格式)。
在线检测API说明文档下载(v1.1测试版)

API接口格式

合作方与360手机在线检测服务器之间,使用标准Http协议通信。合作方通过Http Post方式,将需要检测的内容发送至360手机在线检测服务器。Http Post的URL格式如下所示:
http://scan.shouji.360.cn/ScanUpload?UserKey=XXXXXXXX&ReqType=Pkg&RspType=Sync。其中,

每个合作方,对应其唯一的允许权限图。

例如,合作方A的权限图为:
ReqTypeRspType
Pkg AvailSync Avail
Blk AvailAsync Avail
Url Avail
合作方B的权限图为:
ReqTypeRspType
Pkg AvailSync Avail
Blk AvailAsync Avail
Url Avail

分析结果格式

软件包分析结果为xml格式的纯文本,采用GBK编码。

配置文件以<files>作为根节点,内部包含n个<file>节点(ReqType为Pkg时,n=1;ReqType为Blk和Url时,n>=1)。每个<file>节点包含以下tag:

tag名称含义
state分析完成状态,取值为:
1: 分析成功
0: 分析失败
name软件包的名称
url对ReqType为Url的请求,其值为下载地址
对ReqType为Pkg的请求,其值为空
对ReqType为Blk的请求,其值为空
size软件包的大小(单位:字节)
type软件包类型(目前支持android安装包和symbian安装包),取值为:
sis: Symbian安装包
apk: Android安装包
etc: 其它类型包
sign软件检测结果描述,取值为:
- 通过
- 不通过
- 审核中
desc附加描述信息

示例如下:

<?xml version="1.0" encoding="GBK"?>

<files>

<file>

<state>1</state>

<name>360MobileSafe.apk</name>

<url></url>

<size>1255670</size>

<type>apk</apk>

<sign>通过</sign>

<desc></desc>

<file>

</files>

示例

用法1:

要求:合作方系统为Uinx/Linux,支持curl命令工具。

在命令行,执行如下的命令检测软件(可集成入shell脚本):
#curl -F "file=@/360onlinescan/apk/xxxx.apk " -o /360onlinescan/apk/xxxx.apk.xml "http://scan.shouji.360.cn/ScanUpload?UserKey=XXXXXXXX& ReqType=Pkg&RspType=Sync"


用法2:

要求:合作方系统支持php(版本>=4.0.2)

下面是php客户端程序代码:

<?php

if($argc != 2)

{

echo "Usage: $argv[0] <filename>\n";

exit(1);

}

$filename = $argv[1];

if(!file_exists($filename))

{

echo "Error: [$filename] doesn't exist!\n";

exit(1);

}

set_time_limit(0);

$postfile = array("file"=>"@$filename",);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://scan.shouji.360.cn/ScanUpload?UserKey=XXXXXXXX&ReqType=Pkg&RspType=Sync');

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postfile);

curl_exec($ch);

curl_close($ch);

?>