|
API获取天气预报,以及使用飞信API,给好友发送短信
加上计划任务,就可以持续每天自动发送天气预报给自己和亲人啦。。。- <?php
- ##########
- # jiam 2012/12/5
- # 1113160783@qq.com
- #自动发送飞信
- #中间涉及到飞信接口
- #天气预报API
- #以及城市代码
- ##########
- #101180101是郑州城市代码
- #101180301是新乡城市代码
- $url='http://m.weather.com.cn/data/101180101.html';
- $xinxiang='http://m.weather.com.cn/data/101180301.html';
- $w=curl($url);
- $weather=json_decode($w);
- $weatherinfo=object_to_array($weather);
- $info=$weatherinfo['weatherinfo'];
- $str=$info['date_y'].','.$info['week'].'。'.$info['city'].'今天气温:'.$info['temp1'].',天气:'.$info['weather1'].'有'.$info['wind1'].',风力:'.$info['fx1'].',穿衣建议:'.$info['index_d'].$info['index48_d'];
-
- $feixin='http://wjima.a173.cnaaa4.com/feixin/str.php';
- $postArray['userName']='手机号';//飞信账号
- $postArray['password']='密码';//飞信密码
- $postArray['content']=$str;//发送内容
- $postArray['other']='接收方手机号';//接收方手机号,无此参数,默认给自己发送
-
- $send=curl($feixin,$postArray);
-
- print_r($send);die();
-
- function curl($url, $postFields = null)
- {
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_FAILONERROR, false);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- //https 请求
- if(strlen($url) > 5 && strtolower(substr($url,0,5)) == "https" ) {
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
- }
-
- if (is_array($postFields) && 0 < count($postFields))
- {
- $postBodyString = "";
- $postMultipart = false;
- foreach ($postFields as $k => $v)
- {
- if("@" != substr($v, 0, 1))//判断是不是文件上传
- {
- $postBodyString .= "$k=" . urlencode($v) . "&";
- }
- else//文件上传用multipart/form-data,否则用www-form-urlencoded
- {
- $postMultipart = true;
- }
- }
- unset($k, $v);
- curl_setopt($ch, CURLOPT_POST, true);
- if ($postMultipart)
- {
- curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
- }
- else
- {
- curl_setopt($ch, CURLOPT_POSTFIELDS, substr($postBodyString,0,-1));
- }
- }
- $reponse = curl_exec($ch);
-
- if (curl_errno($ch))
- {
- throw new Exception(curl_error($ch),0);
- }
- else
- {
- $httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
- if (200 !== $httpStatusCode)
- {
- throw new Exception($reponse,$httpStatusCode);
- }
- }
- curl_close($ch);
- return $reponse;
- }
- function object_to_array($obj)
- {
- $_arr = is_object($obj) ? get_object_vars($obj) : $obj;
- foreach ($_arr as $key => $val)
- {
- $val = (is_array($val) || is_object($val)) ? object_to_array($val) : $val;
- $arr[$key] = $val;
- }
- return $arr;
- }
- ?>
复制代码 |
|