对于百度熊掌号专业问答的URL推送,百度提供了多种URL推送方式,之前详细写过怎样通过CURL命令方式推送,但是后来百度修改了api地址,URL中出现了汉字,CURL方式推送就会报错,下面php中文网(www.php.cn)为大家介绍另外一种比较简便的方法推送:PHP方式,请各位站长门参考(懂PHP技术的请略过~~)
第一步:页面改造
详情可以直接查看百度熊掌号后台,搜索资源移动专区中专业问答模块。
第二步:API提交
PHP推送示例:
具体步骤:
1. 首先我们将以下代码保存为一个PHP文件,命名比如baiduxiongzhang.php。
注:其中$api参数需要修改为你自己的接口数据。
大家把以下完整代码,复制保持为.php文件格式,然后把里面的api地址换成自己的,就可以啦!(适合单个URL提交)<?php
$url = isset($_GET['url']) ? $_GET['url'] : '';
if(!$url){
echo '没有地址参数';exit;
}
$urls = array(0=>$url);
$api = 'http://data.zz.baidu.com/urls?appid=xxxx&token=xxxx&type=qa&domain=教育';
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;
2. 然后将baiduxiongzhang.php上传到网站根目录下,并在浏览器上访问此PHP文件,会出现如下所示:
3. 我们再通过以下链接实现专业问答推送:http://www.xxx.com/baiduxiongzhang.php?url=
推送链接的格式是:你的网站域名 + baiduxiongzhang.php?url=要推送的文章或页面链接
比如我们要推送这个页面:m.php.cn/tags/tag-applet.html,就可以在按如下所示进行推送http://www.xxx.com/baiduxiongzhang.php?url=m.php.cn/tags/tag-applet.html
4. 成功推送后,返回如下信息:
附:上述PHP代码说明:
首先我们通过isset函数初始化推送链接,如果没有设置参数则返回上图中“没有地址参数”的信息,再用curl_init()函数初始化cURL会话。并且设置option参数的值如下:
CURLOPT_URL: 这是你想用PHP取回的URL地址。
CURLOPT_POST:设置为TRUE 时表示会发送 POST 请求,类型为:application/x-www-form-urlencoded,也是 HTML 表单提交时最常见的一种。
CURLOPT_RETURNTRANSFER :设置为true表示将curl_exec()获取的信息以字符串返回,而不是直接输出。
CURLOPT_POSTFIELDS : 传递一个作为HTTP “POST”操作的所有数据的字符串。
CURLOPT_HTTPHEADER:设置自定义HTTP标头
最后通过curl_setopt_array函数为cURL传输会话批量设置选项,以及通过curl_exec函数执行cURL会话。
那么专业问答成功推送后,反馈的参数表示:
success、success_qa:表示成功推送的url条数
remain、remain_qa:表示当天剩余的可推送url条数