7
15
2011
0

SAE 上开发 股票提醒程序

全程基本用在线 sdk。不写历程直接看最终成果就好。

kvdb 又慢又不稳,郁闷,只能用下面这个东西。(怪不得文档里面老是去查$ret)

其实精华就是这个 kvget 函数。。。
代码如下
<?php
/*
so price is actually target price.
$vcodepricepair = "code price";
$vphonepwd = "phone pwd";
"vphone" => $vphones = "phone pwd,phone pwd";
$phone => $vlist = "code price,code price";
*/
function kvget ($kv, $key) {
	$ret = false;
	while(!$ret) $ret = $kv->get("$key");
	return $ret;
}

$kv = new SaeKVClient();
$ret = false;
while (!$ret) $ret = $kv->init();

$vphones = kvget($kv, 'vphones');
$vphonepwds = explode(",", $vphones);

foreach($vphonepwds as $vphonepwd) {
	//decode
	$phonepwd = explode(" ", $vphonepwd);
	$phone = $phonepwd[0];
	$pwd = $phonepwd[1];	
	$vlist = $kv->get($phone);
	$list = explode(",", $vlist);
	
	foreach ($list as $vcodepricepair) {
		//decode
		$codepricepair = explode(" ", $vcodepricepair);
		$code = $codepricepair[0];
		$price = $codepricepair[1];
		
		//get data
		$url = "http://api.liqwei.com/stock/?code=$code";
		$data = file_get_contents($url);
		$elements = explode(",", $data);
		$cprice = $elements[1]; // current price

		//send msg
		if ($price >= $cprice - 0.05 || $price <= $cprice + 0.05) {
			$url = "http://sms.bber.info/api.php?phone=$phone&pwd=$pwd&to=$phone&msg=$code,$cprice";
			fopen("$url", 'r');
		}
	}
}

 

http://sms.bber.info/ 为 飞信网页版 和 api

参见 http://3haku.net/2010/11/25/php%E9%A3%9E%E4%BF%A1-pafetion-%E5%BC%80%E6%BA%90%E5%95%A6.html

hq.sinajs.cn 为 sina 财经 api,日,sina自己不让抓自己!

http://api.liqwei.com/stock/?code=sh:600028 用这个了

KVDB 限制如下

set (line 136)

更新key对应的value

  • return: 成功返回true,失败返回false
bool set (string $keystring $value)
  • string $key: 长度小于256字节
  • string $value: 长度小于4MB

 

Category: 未分类 | Tags: php stock sae kvdb

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com