您的位置:首页 > 编程语言 > PHP开发

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

2013-02-03 14:30 671 查看
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;

}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: