利用飞信api免费发送天气预报

2010-4-15 寒川 网页编程

<?
/**
* 飞信通知天气预报
* 2009-4-23
*/

//禁止执行时间限制
set_time_limit (0);
$ad=" [广告招商]";//定义广告
function getWF($city)
{

if(empty($city)) return "";
$wf=@file_get_contents('http://php.weather.sina.com.cn/search.php?city='.urlencode($city).'&f=1&dpc=1');
if (empty($wf))
{
return "";
}

//截取相关信息
$return = "";
$star=strpos($wf,"<div class=\"info-area\">");
$return = substr($wf,$star,1000);
$end2=strpos($return,"<!-- box end-->");
$return = strip_tags(substr($return,0,$end2));

//过滤
$return=mb_convert_encoding($return, "UTF-8", "GBK");//将GBK转换UTF-8编码,否则出现乱码
$return = str_replace(" ","",$return); //过滤换空格符
$return = str_replace("\t"," ",$return);//过滤制表符
$return = str_replace("\n"," ",$return); //过滤换行符
$return = trim(str_replace("\r"," ",$return),",");//过滤回车符
$return = str_replace("℃","度",$return); //防止某些手机无此符号
$return = str_replace("~","-",$return);//同上
$return = str_replace("≤","小于",$return);//同上
$return = str_replace(":",":",$return); //同上
$return = str_replace("风力:"," 风力",$return);//同上
$return = preg_replace("/(\s+)/",' ',$return);//多个空格替换为一个空格
return $return;
}

$user='135****509';//手机号码
$pass='***';//飞信密码

//设置天气预报城市
$citys[]=array('id'=>'cd','name'=>'成都');//可类似设置多个

//手机号
$tel['cd'][]='135****509';//可类似设置多个


if (is_array($citys)&&count($citys)>0)

{
//遍历城市
foreach($citys as $city)
{
//获取采集信息
$info=getWF($city['name']);
$info="天气预报:".$city['name']." ".$info.$ad;
if (!empty($info)){
if (is_array($tel[$city['id']])&&count($tel[$city['id']])>0){
//发送
foreach($tel[$city['id']] as $val)//循环发送
{
$url="http://weather.huikon.cn/api.php?mobile_no=".$user."&pwd=".$pass."&to=".$val."&msg=".urlencode($info);//飞信API地址
@file_get_contents($url);
  //echo $info.$val;
}
}
}
}
}

//自动关闭脚本
echo <<<EOT
<script language=javascript>
window.opener=null
window.open("","_self")
window.close();
</script>
EOT;

?>

说明:可以做个vbs脚本访问此文件,结合自动计划任务,并取消自动关闭脚本注释就可以利用飞信api自动发送免费天气预报。

标签: php fetion api

评论:

韩世界15680180146
2010-06-16 16:14
后面的发不上来。很郁闷。需要的找我算了。
韩世界15680180146
2010-06-16 16:13
第一部分
@echo off

::条件判断,按条件调用飞信机器人给不同的人发送天气预报和提醒事项
if "%date:~-3%"=="星期六" goto zmpd
if "%date:~-3%"=="星期日" goto zmpd
::工作日天气预报发送时间--------------------------------------------if "%time:~0,2%"==" 9" goto tqfs
if "%time:~0,2%"=="14" goto tqfs
if "%time:~0,2%"=="20" goto tqfs
goto tc

:zmpd
::周末天气预报发送时间---------------------------------------------
if "%time:~0,2%"=="11" goto tqfs
if "%time:~0,2%"=="20" goto tqfs
goto tc
sorson
2010-04-26 11:24
实际怎样用的?只知道这是一段源码
leopoincare
2010-04-20 09:38
呵呵,自己开发呀,高手

发表评论:

Powered by emlog 蜀ICP备12030225号

川公网安备 51042102000001号

sitemap