商品监控
在货源站列表中,点击货源站后边的商品监控,即可开启监控模式,但并未工作,只是选择需要监控的内容,默认全部打开的
监控模式一:
URL访问:http://域名/common/api/dockingGoodsMonitor?token=你的站点token
可以通过宝塔面板进行挂机
这个模式是随机监控商品,并不能批量,所以有些商品没变动,会看不出来,实际是在工作
监控模式二:(一般不建议用)
商品监控:http://域名/common/api/dockingGoodsMonitor?token=你的站点token&mode=2
这个模式是并发监控所用商品,批量更新所有对接商品,但是如果货源站系统有请求频率限制,是无法做到更新的
举例:你对接了这个货源站2个商品,并发是同一时间发送请求,但是这个货源站限制2秒请求一次接口,那么你这是属于发送了2个请求,第二请求就会被他拦截
监控模式三:软件挂机,软件开发中...
监控模式四:触发监控,即客户点击购买按钮后,自动进行监控请求同步一次监控信息
监控模式五:
新建一个PHP文件:jiankong.php,将该文件上传至宝塔/www/wwwroot目录内,点击文件编辑,将以下代码覆盖到jiankong.php内
<?php
$link = mysqli_connect("localhost","数据库用户名","数据库密码","数据库名") or die("错误:" . mysqli_error($link));
ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;)');
$sql = "SELECT gid FROM `ept_goods`;" or die("命令执行错误." . mysqli_error($link));
$result = mysqli_query($link, $sql);
$data = mysqli_fetch_all($result);
foreach($data as $k => $v) {
foreach($v as $key => $val) {
$url = "http://domain/index/goods/" . $val;
$re = file_get_contents($url);
echo "商品:" .$url . " ********同步成功:********" . date('Y-m-d H:i:s') . "\n";
}
}
然后找到计划任务,添加脚本,脚本内容如下
php /www/wwwroot/jiankong.php
执行周期自行选择
PS:服务器不同会遇到各种问题,下面说些常见的吧
如果日志出现failed to open stream: HTTP request failed!这个错误,我们尝试修改php.ini,把allow_url_fopen给启用,改成 allow_url_fopen = On
这样做可以解决某些问题,在php.ini中,有这样两个选项:allow_url_fopen =on(表示可以通过url打开远程文件),user_agent="PHP"(表示通过哪种脚本访问网络,默认前面有个 " ; " 去掉即可。)重启服务器。
但是有些还是会有这个警告信息,想用完美的解决还差一步,还得设置php.ini里面的user_agent,php默认的user_agent是PHP,我们把它改成Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)来模拟浏览器就可以了
user_agent=”Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”