| 名称 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| urls | string | 是 | 要提交检测的网址,多个用“|”隔开(一次最多能提交200个网址) |
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| errcode | string | 0 | 返回的错误代码 |
| errmsg | string | 返回的错误说明 | |
| taskid | int | 成功返回的任务ID | |
| total | int | 提交成功的总数量 |
{
"errcode": "0",
"errmsg": "",
"total": 1,
"data": {
"taskid": 1
}
}
| 名称 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| taskid | int | 是 | 要检测的任务ID |
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| errcode | string | 0 | 返回的错误代码 |
| errmsg | string | 返回的错误说明 | |
| taskid | int | 当前任务ID | |
| total | int | 提交成功的总数量 | |
| check_status | int | 检测状态 | |
| submit_time | string | 提交时间 | |
| finished_time | string | 完成时间 | |
| url | string | 提交检测的网址 | |
| status | int | 收录状态 | |
| title | string | 收录的标题 | |
| time | string | 快照时间 |
{
"errcode": "0",
"errmsg": "",
"data": {
"taskid": 1,
"total": 2,
"check_status": 1,
"submit_time": "1507812930",
"finished_time": "1507812960",
"include_result": [
{
"url": "http://www.1688.com",
"status": 1,
"title": "阿里巴巴1688.com-全球领先的采购批发平台,批发网",
"time": "2017-10-11 03:07:00"
},
{
"url": "http://www.jd.com",
"status": 1,
"title": "京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!",
"time": "2017-09-27 21:51:00"
}
]
}
}
| 错误码 | 说明 |
|---|---|
| 100101 | 调用次数不够,请充值 |
| 100102 | 服务每秒调用量超限 |
| 100103 | 服务每小时调用量超限 |
| 100104 | 服务每天调用量超限 |
| 100111 | 调用字数不够,请充值 |
| 100201 | url无法解析 |
| 100202 | 请求缺少apikey |
| 100203 | 无效的apikey |
| 100204 | api不存在 |
| 100205 | api已经关闭 |
| 100206 | 后端服务响应status非200 |
| 100207 | 后端服务未正确接入 |
| 100208 | 请求方式不支持 |
| 100301 | Api商城 内部错误 |
| 100302 | 请求后端服务过程中错误 |
| 100303 | 系统繁忙稍候再试 |
| 100403 | 您输入的apikey不正确 |
| 错误码 | 说明 |
|---|---|
| 200107 | 服务器超时 |
| 200201 | 传进参数为空 |
| 200202 | 用户ID为空 |
| 200204 | 请提交要查询的网址 |
| 200301 | 请提交正确格式的网址 |
| 200408 | 提交的数量已达上限,一次最多能提交200个网址 |
| 20040503 | 如输入多个网址时请用“|”进行分隔 |
| 2 | 002 | 01 |
|---|---|---|
| 服务器错误(1:为系统级别错误) | 服务模块代码(即数据ID) | 具体错误代码 |
| 名称 | 价格 | 次数 | 说明 |
|---|---|---|---|
| 首次试用套餐 | 0.00 | 100 | |
| 套餐一 | 200.00 | 10000 | |
| 套餐二 | 800.00 | 100000 | |
| 套餐三 | 3200.00 | 1000000 |
<?php
header("Content-type:text/html; charset=utf-8");
/*参数1:请求的URL;参数2:以CURL方式设置http的请求头;参数3:要提交的数据包*/
function doCurlPostRequest($url,$header,$data){
$ch = curl_init();
/*请求地址*/
curl_setopt($ch, CURLOPT_URL, $url);
/*以CURL方式设置http的请求头*/
curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
/*文件流形式*/
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
/*发送一个常规的Post请求*/
curl_setopt($ch, CURLOPT_POST, 1);
/*Post提交的数据包*/
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
return curl_exec($ch);
}
/*请求的URL*/
$url = "http://apis.5118.com/include";
/*要提交的数据包*/
$data = "urls=www.jd.com|www.1688.com|www.csdn.net";
/*以CURL方式设置http的请求头*/
$header[] = "Content-type:application/x-www-form-urlencoded";
/*输入你要调用API的APIKEY*/
$header[] = "Authorization: APIKEY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
/*调用CURL POST函数*/
$result=doCurlPostRequest($url,$header,$data);
/*对 JSON 格式的字符串进行解码,并转换为 PHP 变量*/
$json = json_decode($result);
/*errcode=0 正确返回 errcode=200104 数据采集中*/
$errcode = $json->errcode;
$errmsg = $json->errmsg;
if ($errcode != "0" && $errmsg != "") {
/*非正确返回*/
print_r($result);
exit;
}
/*提交查询请求后获取提取结果的任务ID*/
$taskid = $json->data->taskid;
if ($taskid != "") {
/*要提交的数据包*/
$data = "taskid=".$taskid;
/*调用CURL POST函数*/
$result = doCurlPostRequest($url,$header,$data);
$json = json_decode($result);
$errcode = $json->errcode;
$errmsg = $json->errmsg;
/*errcode=200104 数据采集中*/
if ($errcode == "200104" && $errmsg =="数据采集中") {
while(true){
sleep(5);
/*调用CURL POST函数*/
$result = doCurlPostRequest($url,$header,$data);
$errcode = $json->errcode;
$errmsg = $json->errmsg;
/*errcode=0 正确返回*/
if ($errcode == "0" && $errmsg == "") {
print_r($result);
/*退出当前的脚本*/
exit;
}
}
}
else {
/*返回数据结果*/
print_r($result);
}
}
else {
/*返回异常或其它信息*/
print_r($result);
}
/*退出当前的脚本*/
exit;
?>
using System.Text;using System.Net;using System.Net.Security;using System.Security.Cryptography.X509Certificates;using Newtonsoft.Json;using System.Threading;public class ResultModel{public string errcode { get; set; }public string errmsg { get; set; }public DataModel data { get; set; }}public class DataModel{public string taskid { get; set; }}private const String host = "http://apis.5118.com";private const String path = "/include";private const String method = "POST";private const String apikey = "你要调用的接口apikey";private void Form1_Load(object sender, EventArgs e){String querys = "";String bodys = "urls=urls";String url = host + path;string str = SendPost(querys, bodys, url);Console.WriteLine(str);Console.WriteLine("\n");ResultModel model = JsonConvert.DeserializeObject<ResultModel>(str);while (true){if (!string.IsNullOrEmpty(model.data.taskid)){bodys = "taskid=taskid";string jsonStr = SendPost(querys, bodys, url);Console.WriteLine(jsonStr);break;}else{Thread.Sleep(60000);str = SendPost(querys, bodys, url);model = JsonConvert.DeserializeObject<ResultModel>(str);}}}private static string SendPost(string querys, string bodys, string url){HttpWebRequest httpRequest = null;HttpWebResponse httpResponse = null;if (0 < querys.Length){url = url + "?" + querys;}if (host.Contains("https://")){ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));}else{httpRequest = (HttpWebRequest)WebRequest.Create(url);}httpRequest.Method = method;httpRequest.Headers.Add("Authorization", apikey);//根据API的要求,定义相对应的Content-TypehttpRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";if (0 < bodys.Length){byte[] data = Encoding.UTF8.GetBytes(bodys);using (Stream stream = httpRequest.GetRequestStream()){stream.Write(data, 0, data.Length);}}try{httpResponse = (HttpWebResponse)httpRequest.GetResponse();}catch (WebException ex){httpResponse = (HttpWebResponse)ex.Response;}Console.WriteLine(httpResponse.StatusCode);Console.WriteLine(httpResponse.Method);Console.WriteLine(httpResponse.Headers);Stream st = httpResponse.GetResponseStream();StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));return reader.ReadToEnd();}public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors){return true;}