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

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

PHP中文网
PHP中文网Original
2016-05-25 17:09:091104Durchsuche

php代码

<?php
##########
# jiam 2012/12/5
# 1113160783@qq.com
#自动发送飞信
#中间涉及到飞信接口
#天气预报API
#以及城市代码
##########
#101180101是郑州城市代码
#101180301是新乡城市代码
$url=&#39;http://m.weather.com.cn/data/101180101.html&#39;;
$xinxiang=&#39;http://m.weather.com.cn/data/101180301.html&#39;;
$w=curl($url);
$weather=json_decode($w);
$weatherinfo=object_to_array($weather);
$info=$weatherinfo[&#39;weatherinfo&#39;];
$str=$info[&#39;date_y&#39;].&#39;,&#39;.$info[&#39;week&#39;].&#39;。&#39;.$info[&#39;city&#39;].&#39;今天气温:&#39;.$info[&#39;temp1&#39;].&#39;,天气:&#39;.$info[&#39;weather1&#39;].&#39;有&#39;.$info[&#39;wind1&#39;].&#39;,风力:&#39;.$info[&#39;fx1&#39;].&#39;,穿衣建议:&#39;.$info[&#39;index_d&#39;].$info[&#39;index48_d&#39;];

$feixin=&#39;http://wjima.a173.cnaaa4.com/feixin/str.php&#39;;
$postArray[&#39;userName&#39;]=&#39;手机号&#39;;//飞信账号
$postArray[&#39;password&#39;]=&#39;密码&#39;;//飞信密码
$postArray[&#39;content&#39;]=$str;//发送内容
$postArray[&#39;other&#39;]=&#39;接收方手机号&#39;;//接收方手机号,无此参数,默认给自己发送

$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;
}
?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn