龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php API获取天气预报,以及使用飞信API,给好友发送短信

时间:2014-09-03 03:03来源:网络整理 作者:网络 点击:
分享到:
API获取天气预报,以及使用飞信API,给好友发送短信 API获取天气预报,以及使用飞信API,给好友发送短信加上计划任务,就可以持续每天自动发送天气预报给自己和亲人啦。。。[代码片

API获取天气预报,以及使用飞信API,给好友发送短信

加上计划任务,就可以持续每天自动发送天气预报给自己和亲人啦。。。

<?php
##########
#自动发送飞信
#中间涉及到飞信接口
#天气预报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;
}
?>
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接