php google短域名的问题

oAnJing1234 2012-10-31 05:10:49

<?php
class GoogleShortUrlHooks
{
// 替换短网址
public function getShortUrl($url,$apikey)
{
if(!$apikey) return $url;

return $this->request($url,$apikey);
}

private function request($url,$apikey){
if(!$url) return '';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://goo.gl/api/url'); //goo.gl api url
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'user=toolbar@google.com&url='.$url.'&auth_token='.$this->googlToken($url));
$short = curl_exec($curl);
$short = json_decode($short);
curl_close($curl);
if($short->short_url){
return $short->short_url;
}else{
return $url;
}
}

private function googlToken($b){
$i = $this->tke($b);
$i = $i >> 2 & 1073741823;
$i = $i >> 4 & 67108800 | $i & 63;
$i = $i >> 4 & 4193280 | $i & 1023;
$i = $i >> 4 & 245760 | $i & 16383;
$j = "7";
$h = $this->tkf($b);
$k = ($i >> 2 & 15) << 4 | $h & 15;
$k |= ($i >> 6 & 15) << 12 | ($h >> 8 & 15) << 8;
$k |= ($i >> 10 & 15) << 20 | ($h >> 16 & 15) << 16;
$k |= ($i >> 14 & 15) << 28 | ($h >> 24 & 15) << 24;
$j .= $this->tkd($k);
return $j;
}

private function tkc(){
$l = 0;
foreach (func_get_args() as $val) {
$val &= 4294967295;
$val += $val > 2147483647 ? -4294967296 : ($val < -2147483647 ? 4294967296 : 0);
$l += $val;
$l += $l > 2147483647 ? -4294967296 : ($l < -2147483647 ? 4294967296 : 0);
}
return $l;
}

private function tkd($l){
$l = $l > 0 ? $l : $l + 4294967296;
$m = "$l"; //must be a string
$o = 0;
$n = false;
for($p = strlen($m) - 1; $p >= 0; --$p){
$q = $m[$p];
if($n){
$q *= 2;
$o += floor($q / 10) + $q % 10;
} else {
$o += $q;
}
$n = !$n;
}
$m = $o % 10;
$o = 0;
if($m != 0){
$o = 10 - $m;
if(strlen($l) % 2 == 1){
if ($o % 2 == 1){
$o += 9;
}
$o /= 2;
}
}
return "$o$l";
}

private function tke($l){
$m = 5381;
for($o = 0; $o < strlen($l); $o++){
$m = $this->tkc($m << 5, $m, ord($l[$o]));
}
return $m;
}

private function tkf($l){
$m = 0;
for($o = 0; $o < strlen($l); $o++){
$m = $this->tkc(ord($l[$o]), $m << 6, $m << 16, -$m);
}
return $m;
}
}
$shorten = new GoogleShortUrlHooks;
$short = $shorten->getShortUrl("http://www.17zencart.com",'AIzaSyBmPhgDPZA3​​ZQuS3VQo_aq2xv0mmsznXKU');
echo $short;

这个类是别人写的 $apikey=AIzaSyBmPhgDPZA3​​ZQuS3VQo_aq2xv0mmsznXKU 这个是申请的
1.结果还是原网址
2.$short->short_url 是空的
3.$apikey的值并没有用到
...全文
143 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
oAnJing1234 2012-11-01
  • 打赏
  • 举报
回复

<?php
function shortenGoogleUrl($long_url){
$apiKey='AIzaSyBmPhgDPZA3​​ZQuS3VQo_aq2xv0mmsznXKU';//Get API key from : http://code.google.com/apis/console/
$postData=array('longUrl'=>$long_url,'key'=>$apiKey);
$jsonData=json_encode($postData);
//echo $jsonData;
$curlObj=curl_init();
curl_setopt($curlObj, CURLOPT_URL,'https://www.googleapis.com/urlshortener/v1/url');
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curlObj, CURLOPT_HEADER,0);
curl_setopt($curlObj, CURLOPT_HTTPHEADER,array('Content-type:application/json'));
curl_setopt($curlObj, CURLOPT_POST,1);
curl_setopt($curlObj, CURLOPT_POSTFIELDS,$jsonData);
$response=curl_exec($curlObj);
curl_close($curlObj);
$json=json_decode($response);
return$json->id;
}
echo shortenGoogleUrl('http://17zencart.com');
?>
搞定了~
oAnJing1234 2012-10-31
  • 打赏
  • 举报
回复

<?php
class SinaShortUrlHooks
{
// 替换短网址
public function getShortUrl($url,$appkey)
{
if(!$appkey) return $url;
return $this->request($url,$appkey);
}

private function request($url,$appkey){
if(!$url) return '';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://api.t.sina.com.cn/short_url/shorten.json'); //goo.gl api url
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'source='.$appkey.'&url_long='.urlencode($url));
$short = curl_exec($curl);
$short = json_decode($short);
curl_close($curl);
if(!isset($short->error_code)){
return $short['0']->url_short;
}else{
return $url;
}
}
}
$a = new SinaShortUrlHooks;
echo $a->getShortUrl("http://17zencart.com",3585127787);

新浪的可以 但是要求用谷歌的
最新2010-11-20日发上来的,开源团购源码 ,团购网站源码,是商业版的,有安装说明,功能是目前团购网站程序最齐全 的,官方网站 www.cmstuan.com 开源团购后台功能相关说明与升级历史 1、用户界面:支持前台无刷新选择新界面; 2、系统扩展:完美整合UCenter插件,可与其他系统同步注册登录、统一头像; 3、系统扩展:集成GoogleMap,可后台设置、标记商家所在区域; 4、邮件验证:支持验证Email真实性后才可以登录等(后台系统定义中设置); 5、邮件通知:支持团购成功时自动Email通知等; 6、邮件通知:支持用户Email订阅、登录取消订阅等; 7、推广营销:支持用户前台获取推荐连接,并邀请好友购买、返现; 8、支付接口:默认集成支付宝和财付通接口;可后台设置,或添加银行转账信息等; 9、团购流程:支持生成唯一订单号(方便沟通)、可切换不同的支付方式; 10、自动开通:满足团购要求时,系统自动开通相关订单、生成优惠券和随机密码; 11、帐户充值:可分批对账户进行充值再开通订单,方便对支付有限额的用户; 12、财务明细:全程记录资金的动作,即使直接开通订单,系统也会自动先充值再扣款; 13、放心消费:用户可在前台我的团购中看到每一笔资金信息和相关的备注; 14、消费保障:优惠券的消费需要密码,密码仅用户自己可见; 15、安全消费:即使知道了优惠券和密码,也只有对应的商家才可以消费; 16、合作商家:可前台登陆、查看自己的产品、优化券,并Email提醒用户消费; 17、产品消费:商家登陆后,输入优惠券和对应密码才可以消费(将优惠券变成已消费); 18、在线沟通:前台可在线提问、意见反馈和商务合作; 19、网站优化:可设置开启伪静态,Apache下系统支持自动创建伪静态规则; 20、网站优化:后台可开启Gzip压缩输出内容,加快页面打开速度; 21、网站安全:后台可设置过滤关键词内容,防止用户留言中包括违法内容; 22、IP管理 :可禁止指定IP的用户访问网站或者后台; 23、友情链接:支持后台添加文字或者图片友情链接; 24、关于我们:管理员可后台设置关于我们、联系我们、加入我们等信息; 25、互动管理:管理员后台可以回答问题,答复后的问题会在前台显示; 26、城市管理:可任意添加或修改城市、开启或关闭前台显示,可做地图标记; 27、商家管理:可列表查看商家旗下的产品数量、成功订单数和营业总额; 28、商家管理:可通过关键词查找商家,或直接查看某城市下的所有商家; 29、产品管理:添加产品时,支持选择城市自动选择其下商家,减少管理员操作; 30、产品管理:可列表查看团购产品的时间、价格、购买数、团购状态等; 31、产品管理:可一键查看成功团购产品的相关购买人、数量、时间和订单号; 32、订单管理:可列表查看每一订单的价格、购买数量、时间、购买人、支付状态等; 33、订单管理:对未支付的订单,可一键操作对该用户进行Email催款; 34、订单管理:对银行转账的订单,管理员可后台填写相关信息后,手工开通; 35、订单管理:可通过用户名、订单号、支付状态等查询订单; 36、订单管理:团购没达到指定人数,管理员可确认团购失败,并退款给用户; 37、团购券管理:可列表查看优惠券拥有人、到期时间,并发送Email到期提醒; 38、团购券管理:可通过团购券号、到期时间、使用状态等查看团购券; 39、返利管理:可列表查看购买人、时间、登陆IP、所购产品、其邀请人和登陆IP等 ; 40、返利管理:支持后台逐一管理满足返利的订单,并给用户返利到账户; 41、邮件订阅:可设置使用PHP的mail函数还是smtp发送邮件; 42、邮件订阅:可自由添加邮件通知内容,并选择邮件的发送区域; 43、邮件订阅:邮件均保存在发送队列中由计划任务控制发送,避免造成服务器堵塞; 44、计划任务:可添加计划任务,并自由设置计划任务的执行时间; 45、站长工具:可开启蜘蛛网页爬行统计,有效掌控搜索引擎对网站的友好性; 46、站长工具:可查看本站的Alexa排名、搜索引擎收录、网站近日收录、交换友情链接; 47、站长工具:可分卷备份数据库、在线打包下载、数据库优化、在线恢复等; 48、用户权限:可任意组合设置用户角色,设置不同权限的管理级别,方便多用户管理; 49、用户管理:可列表查看用户的角色、账号余额和总消费金额等; 50、用户管理:可编辑用户的信息,并查看指定用户的完整消费记录。 2010年9月7日00:01发布 1、增加Google地图功能 2010年9月13日发布 1、修改部分小BUG 2010年10月31日正式

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧