汇站网给大家分享一个帝国插件代码:
class
zhanzhangPush
{
private
$dbhost
=
'localhost
:3306'
;
// mysql
服务器主机地址
private
$dbuser
=
''
;
// mysql
用户名
private
$dbpass
=
''
;
// mysql
用户名密码
private
$domain
=
''
;
//不带 www
的域名
private
$zhanzhangToken
=
''
;
//站长 token
private
$xiongToken
=
''
;
//熊掌号 token
private
$xiongAppid
=
''
;
//熊掌号 appid
private
$shenmaUserName
=
''
;
//神马 username
private
$shenmaToken
=
''
;
//神马 token
private
$http
=
"https
"
;
//协议请求 http
https
private
$database
=
''
;
//数据库名
private
$www
=
'm
'
;
//域名前缀 www
m
public
function
init
() {
$this
->shenma_push
(
$urls
);
// $this
->baidu_push
($urls
);
// $this
->real_push
($urls
);
// $this
->batch_push
($urls
);
$this
->sogouPush
(
$urls
);
}
/**
* 获取网站 url
代码来源 www
.zjkweiqi
.cn
这家软件站
*/
public
function
get_site_urls
(
$artId
,
$vodId
,
$limit
= 800) {
$limit
=
$limit
/ 2;
$conn
= mysqli_connect
(
$this
->dbhost
,
$this
->dbuser
,
$this
->dbpass
);
if
(!
$conn
) {
die
(
'连接失败: '
. mysqli_error
(
$conn
));
}
//var_dump
($conn
);die
;
mysqli_query
(
$conn
,
"set
names
utf8
"
);
mysqli_select_db
(
$conn
,
$this
->database
);
//var_dump
($artId
);die
;
//var_dump
($urls
);die
;
//查找电影--------------------------------------------------
$sql
=
"SELECT
titleurl
,id
FROM
www_96kaifa_com_ecms_news
where
id
> {$artId
} limit
$limit
"
;
$retval
= mysqli_query
(
$conn
,
$sql
);
if
(!
$retval
) {
die
(
'无法读取数据: '
. mysqli_error
(
$conn
));
}
$urls
= [];
while
(
$row
= mysqli_fetch_assoc
(
$retval
)) {
$artId
=
$row
[
'id
'
];
array_push
(
$urls
,
$this
->http
.
"://m
."
.
$this
->domain
.
$row
[
'titleurl
'
]);
}
$data
= [
'urls
'
=>
$urls
,
'art_id
'
=>
$artId
,
'vod_id
'
=>
$vodId
];
return
$data
;
}
/**
* 获取 api
接口
*/
public
function
get_api
(
$zhanzhang
) {
switch
(
$zhanzhang
) {
case
'shenma
'
:
return
"http
://data
.zhanzhang
.sm
.cn
/push
?site
="
.
$this
->www
.
"."
.
$this
->domain
.
.
$this
->shenmaUserName
.
.
$this
->shenmaToken
;
case
'realtime
'
:
return
"http
://data
.zz
.baidu
.com
/urls
?appid
="
.
$this
->xiongAppid
.
.
$this
->xiongToken
.
;
case
'batch
'
:
return
"http
://data
.zz
.baidu
.com
/urls
?appid
="
.
$this
->xiongAppid
.
.
$this
->xiongToken
.
;
case
'baidu
'
:
return
"http
://data
.zz
.baidu
.com
/urls
?site
="
.
$this
->www
.
"."
.
$this
->domain
.
.
$this
->zhanzhangToken
;
}
}
/**
* 推送
*/
public
function
push
(
$api
,
$urls
) {
// var_dump
($urls
);die
;
$ch
= curl_init
();
$options
=
array
(CURLOPT_URL
=>
$api
, CURLOPT_POST
=> true
, CURLOPT_RETURNTRANSFER
=> true
,
// CURLOPT_POSTFIELDS
=> implode
("\n
", array_slice
($urls
,0,10)),
CURLOPT_POSTFIELDS
=> implode
(
"\n
"
,
$urls
), CURLOPT_HTTPHEADER
=>
array
(
'Content
-Type
: text
/plain
'
),);
curl_setopt_array
(
$ch
,
$options
);
$res
= curl_exec
(
$ch
);
return
$res
;
}
/**
* 神马站长推送
*/
public
function
shenma_push
(
$urls
) {
$configData
=
$this
->get_config
();
$data
=
$this
->get_site_urls
(
$configData
[
'shenma
'
][
'art_id
'
],
$configData
[
'shenma
'
][
'vod_id
'
]);
$urls
=
$data
[
'urls
'
];
$configData
[
'shenma
'
][
'art_id
'
] =
$data
[
'art_id
'
];
$configData
[
'shenma
'
][
'vod_id
'
] =
$data
[
'vod_id
'
];
//推送接口
$api
=
$this
->get_api
(
'shenma
'
);
$res
=
$this
->push
(
$api
,
$urls
);
$jsonres
= json_decode
(
$res
);
if
(
$jsonres
->errorMsg
==
''
) {
$this
->log
(
"神马站长成功推送"
.
count
(
$urls
) .
"条"
);
$this
->update_config
(
$configData
);
}
else
{
$this
->log
(
"神马站长推送失败:"
.
$res
);
}
var_dump
(
$res
);
}
/**
* 百度站长推送
*/
public
function
baidu_push
(
$urls
) {
$configData
=
$this
->get_config
();
$data
=
$this
->get_site_urls
(
$configData
[
'baidu
'
][
'art_id
'
],
$configData
[
'baidu
'
][
'vod_id
'
]);
$urls
=
$data
[
'urls
'
];
$configData
[
'baidu
'
][
'art_id
'
] =
$data
[
'art_id
'
];
$configData
[
'baidu
'
][
'vod_id
'
] =
$data
[
'vod_id
'
];
$api
=
$this
->get_api
(
'baidu
'
);
$res
=
$this
->push
(
$api
,
$urls
);
$jsonres
= json_decode
(
$res
);
if
(
$jsonres
->error
>= 400) {
$this
->log
(
"百度站长推送失败:"
.
$res
);
}
else
{
$this
->log
(
"百度站长成功推送"
.
$jsonres
->success
.
"条,今日还可推送:"
.
$jsonres
->remain
.
"条"
);
$this
->update_config
(
$configData
);
}
var_dump
(
$urls
);
die
;
echo
;
var_dump
(
$res
);
}
/**
* 熊掌号天级推送
*/
public
function
real_push
(
$urls
) {
$configData
=
$this
->get_config
();
$data
=
$this
->get_site_urls
(
$configData
[
'realtime
'
][
'art_id
'
],
$configData
[
'realtime
'
][
'vod_id
'
], 10);
$urls
=
$data
[
'urls
'
];
$configData
[
'realtime
'
][
'art_id
'
] =
$data
[
'art_id
'
];
$configData
[
'realtime
'
][
'vod_id
'
] =
$data
[
'vod_id
'
];
$api
=
$this
->get_api
(
'realtime
'
);
$res
=
$this
->push
(
$api
,
$urls
);
$jsonres
= json_decode
(
$res
);
if
(
$jsonres
->error
>= 400) {
$this
->log
(
"熊掌号天级推送失败:"
.
$res
);
}
else
{
$this
->log
(
"熊掌号天级成功推送"
.
$jsonres
->success
.
"条,今日还可推送:"
.
$jsonres
->remain
.
"条"
);
$this
->update_config
(
$configData
);
}
// var_dump
($urls
);die
;
echo
;
var_dump
(
$res
);
}
/**
* 熊掌号周级推送
*/
public
function
batch_push
(
$urls
) {
$configData
=
$this
->get_config
();
$data
=
$this
->get_site_urls
(
$configData
[
'batch
'
][
'art_id
'
],
$configData
[
'batch
'
][
'vod_id
'
]);
$urls
=
$data
[
'urls
'
];
$configData
[
'batch
'
][
'art_id
'
] =
$data
[
'art_id
'
];
$configData
[
'batch
'
][
'vod_id
'
] =
$data
[
'vod_id
'
];
$api
=
$this
->get_api
(
'batch
'
);
$res
=
$this
->push
(
$api
,
array_slice
(
$urls
, 0, 1));
$jsonres
= json_decode
(
$res
);
if
(
$jsonres
->error
>= 400) {
$this
->log
(
"熊掌号周级推送失败:"
.
$res
);
}
else
{
$this
->log
(
"熊掌号周级成功推送"
.
$jsonres
->success
.
"条,今日还可推送:"
.
$jsonres
->remain
.
"条"
);
$this
->update_config
(
$configData
);
}
// var_dump
($urls
);die
;
echo
;
var_dump
(
$res
);
}
/**
*搜狗推送
*/
public
function
sogouPush
(
$urls
) {
$configData
=
$this
->get_config
();
$data
=
$this
->get_site_urls
(
$configData
[
'sougou
'
][
'art_id
'
],
$configData
[
'sougou
'
][
'vod_id
'
], 10);
$urls
=
$data
[
'urls
'
];
$configData
[
'sougou
'
][
'art_id
'
] =
$data
[
'art_id
'
];
$configData
[
'sougou
'
][
'vod_id
'
] =
$data
[
'vod_id
'
];
echo
(
);
// var_dump
($data
);die
;
for
(
$i
= 0;
$i
<
count
(
$urls
);
$i
++) {
$postUrl
=
'http
://fankui
.help
.sogou
.com
/index
.php
/web
/web
/addShoulu
'
;
$postData
=
array
(
"source
"
=>
"1"
,
"site_type
"
=>
"1"
,
"Shoulu
"
=>
array
(
"webAdr
"
=>
$urls
[
$i
],
"email
"
=>
"103@qq
.com
"
,
"reason
"
=>
""
));
$postData
= http_build_query
(
$postData
);
$curl
= curl_init
();
curl_setopt
(
$curl
, CURLOPT_URL
,
$postUrl
);
curl_setopt
(
$curl
, CURLOPT_USERAGENT
,
'Opera
/9.80 (Windows
NT
6.2; Win64
; x64
) Presto
/2.12.388 Version
/12.15'
);
curl_setopt
(
$curl
, CURLOPT_SSL_VERIFYPEER
, false
);
// stop
verifying
certificate
curl_setopt
(
$curl
, CURLOPT_RETURNTRANSFER
, true
);
curl_setopt
(
$curl
, CURLOPT_POST
, true
);
curl_setopt
(
$curl
, CURLOPT_HTTPHEADER
,
array
(
'Content
-Type
: application
/x
-www
-form
-urlencoded
'
));
curl_setopt
(
$curl
, CURLOPT_POSTFIELDS
,
$postData
);
curl_setopt
(
$curl
, CURLOPT_FOLLOWLOCATION
, true
);
$res
= curl_exec
(
$curl
);
curl_close
(
$curl
);
$jsonres
= json_decode
(
$res
);
if
(
$jsonres
->success
==
'true
'
) {
$this
->log
(
"搜狗推送成功:"
.
$urls
[
$i
]);
}
else
{
$this
->log
(
"搜狗推送失败:"
.
$urls
[
$i
]);
}
}
$this
->update_config
(
$configData
);
}
/**
* 获取配置信息
*/
public
function
get_config
() {
$configPath
=
'push_config
.txt
'
;
if
(
file_exists
(
$configPath
)) {
$data
=
file_get_contents
(
$configPath
);
return
unserialize
(
$data
);
}
else
{
$myfile
=
fopen
(
$configPath
,
"w
"
);
$configData
= [
'shenma
'
=> [
'art_id
'
=> 0,
'vod_id
'
=> 0
],
'baidu
'
=> [
'art_id
'
=> 0,
'vod_id
'
=> 0
],
'realtime
'
=> [
'art_id
'
=> 0,
'vod_id
'
=> 0
],
'batch
'
=> [
'art_id
'
=> 0,
'vod_id
'
=> 0
],
'sougou
'
=> [
'art_id
'
=> 0,
'vod_id
'
=> 0
],
];
fwrite
(
$myfile
, serialize
(
$configData
));
fclose
(
$myfile
);
return
$configData
;
}
}
/**
* 修改配置信息
*/