最近打算做一个提供API的网站

二 12th, 2009

最近打算做一个提供API的网站,程序方面已经完成测试,可行。

<script type="text/javascript">
//http://***/doc/xl_kc_urlconvert
//迅雷地址、快车地址、HTTP地址(URL)转换接口
var $Myw3_Api={
	client:{
		skey:'a3ca113a9677fbc3398eae72fe53849d'
	},
	load:{
		init:'xl_kc_urlconvert',
		ver:'1.0'
	},
	body:{
		input:'xinput',
		button:'xbutton',
		xunlei:'xl_url',
		kuaiche:'kc_url',
		xuanfeng:'xf_url',
		url:'url'
	}
}
</script>
<script type="text/javascript" src="http://***/get.php"></script>
<input type="text" id="xinput"/><input type="button" class="but" id="xbutton" value="转换"/><br />
迅雷:<input type="text" id="xl_url" readonly /><br />
快车:<input type="text" id="kc_url" readonly /><br />
旋风:<input type="text" id="xf_url" readonly /><br />
URL:<input type="text" id="url" readonly /><br />

API接口通过预设的JSON获取数据。不成熟的思想如下:
$Myw3_Api.client.skey API标示ID
$Myw3_Api.load.init 到底交给谁处理?
$Myw3_Api.load.ver 版本号,方便以后扩展兼容
$Myw3_Api.body 获取程序需要处理的信息,比如某HTML Object的ID

get.php

var $ServerName='***';
var $LoadJs=function(u){document.writeln('<script type="text/javascript" src="http://'+$ServerName+u+'"></script>');}
var $KillError=function(){alert('bad use.');return false;}
if(typeof($Myw3_Api)!="object")
	alert("没有提供必要的参数");
else{
	window.onerror=$KillError;
	$LoadJs('/getkey.php?do='+/[\w-]+\.(com|net|org|gov|cc|biz|info|cn|cs)(\.(cn|hk))*/ig.exec(location.href)[0])
	$LoadJs('/get_js.php?load='+$Myw3_Api.load.init);
}

getkey.php

$Myw3_Api.client.ckey="< ?php echo md5($_GET['do'])?>";

get_js.php

window.onload=function(){
	if($Myw3_Api.client.skey==$Myw3_Api.client.ckey){
		funload();
	}else{
		alert("loading error.");
	}
}
< ?php
	switch($_GET['load']){
		case "xl_kc_urlconvert":
			$t='__XL_KC_URLCONVERT';
			$f='xl_kc.js';
			@include('../js/base64.js');
			break;
		default:
			$t='__NO_FUN';
			$f='nofun.js';
	}
	@include('../js/common.js');
	@include('../js/'.$f);
?>
var funload=function(){
	< ?php echo($t)?>();
}

当然,这样做太简陋了,而且有的地方不科学,这毕竟只是雏形。

标签:
  1. TryLife
    三 3rd, 200919:20

    沙发继续努力吧 嘎嘎