在使用通用HTTP发布接口时,需要开发者首先开发数据接收程序,并部署成公网可访问的HTTP接收接口。
创建并设置HTTP发布项,参考文档发布到HTTP地址。
HTTP请求参数
HTTP发布接口以POST表单的方式将数据发送到用户服务器,Content-Type
为application/x-www-form-urlencoded; charset=UTF-8
,HTTP request body格式形如a=b&c=d
。
POST参数列表:
参数 | 参数说明 | 备注 |
---|---|---|
__sign | password+”shenjianshou.cn”的md5值 | 用于安全校验 |
__sourceId | 数据源ID | 爬虫也有相应的数据源 |
__dataId | 数据ID | |
__crawlUrl | 爬取链接 | 当前数据的来源网页 |
__crawlTime | 爬取时间 | 当前数据的爬取时间 |
__dataKey | 当前数据的主键值 | |
__dataVersion | 当前数据的版本 | |
__dataLatest | 是否是最新数据 | |
其他参数 | 当前数据按字段拆成多个参数 | 有多少个字段就会拆成多少个参数 |
POST参数举例说明:
假设一条数据如下:{
"id": "14320215338",
"price": "1499.00",
"name": "MOCO2017秋季新品真丝荷叶边灯笼袖V领长袖衬衫MA173TOP127"
}
则POST参数大概这样:
参数 | 参数值 |
---|---|
__sign | c6a2d2bed8b2471e438889e7923d5d20 |
__sourceId | 799597 |
__dataId | 5252 |
__crawlUrl | https://www.example.com/14320215338.html |
__crawlTime | 1509416873 |
__dataKey | 7bb6eccdb31b7ac57c8286432da79f57 |
__dataVersion | 0 |
__dataLatest | true |
id | 14320215338 |
price | 1499.00 |
name | MOCO2017秋季新品真丝荷叶边灯笼袖V领长袖衬衫MA173TOP127 |
HTTP request body为:__sign=c6a2d2bed8b2471e438889e7923d5d20&__sourceId=799597&__dataId=5252&__crawlUrl=https%3A%2F%2Fwww.example.com%2F14320215338.html&__crawlTime=1509416873&__dataKey=7bb6eccdb31b7ac57c8286432da79f57&__dataVersion=0&__dataLatest=true&id=14320215338&price=1499.00&name=MOCO2017%E7%A7%8B%E5%AD%A3%E6%96%B0%E5%93%81%E7%9C%9F%E4%B8%9D%E8%8D%B7%E5%8F%B6%E8%BE%B9%E7%81%AF%E7%AC%BC%E8%A2%96V%E9%A2%86%E9%95%BF%E8%A2%96%E8%A1%AC%E8%A1%ABMA173TOP127
返回结果
接口要求返回json数据,成功时固定返回{
"result": 1,
"data": "发布成功"
}
失败时返回{
"result": 2, //大于"1"的数值
"reason": "发布失败, 错误原因: 发布密码验证失败!" //失败原因
}
接收示例代码
PHP示例代码://与发布项的发布密码一致
$password = "123456";
if (empty($_POST['__sign']) ||
md5("{$password}shenjianshou.cn") != trim($_POST['__sign'])) {
echo json_encode([
"result" => 2,
"reason" => "发布失败, 错误原因: 发布密码验证失败!"
]);
exit;
}
//TODO 这里对数据进行处理
echo json_encode(["result" => 1, "data" => "发布成功"]);
exit;
发布调试
如果发布数据的时候出现问题,网多云会在浏览器控制台中打印HTTP地址返回的内容。如下图所示,response中的body就是返回的内容,headers是请求响应头信息,里面也可能包含一些重要信息用于调试。
如何进入浏览器控制台?以 “谷歌的Chrome浏览器” 为例,点击 “设置” ——> “更多工具” ——> “开发者工具” ——> “Console”