<?php
/**
* @author: vfhky 20130304 20:10
* @description: PHP调用百度短网址API接口
* * @param string $type: 非零整数代表长网址转短网址,0表示短网址转长网址
*/
function bdUrlAPI($type, $alias){
if($type)
$baseurl = 'http://dwz.cn/create.php';
else
$baseurl = 'http://dwz.cn/query.php';
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$baseurl);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
if($type) {
$target="http://app.tongxinmao.com/dwz.php?id=%s";
$data=array();
$data['url']=sprintf($target,$alias);
$data['alias']=$alias;
}
else
$data=array('tinyurl'=>$alias);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$strRes=curl_exec($ch);
curl_close($ch);
$arrResponse=json_decode($strRes,true);
if($arrResponse['status']!=0)
{
echo 'ErrorCode: ['.$arrResponse['status'].'] ErrorMsg: ['.iconv('UTF-8','GBK',$arrResponse['err_msg'])."]\n";
return 0;
}
if($type)
return $arrResponse['tinyurl'];
else
return $arrResponse['longurl'];
}
function getRandChar($length){
$str = null;
$strPol = '0123456789';//"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
$max = strlen($strPol)-1;
for($i=0;$i<$length;$i++){
$str.=$strPol[rand(0,$max)];//rand($min,$max)生成介于min和max两个数之间的一个随机整数
}
return $str;
}
//给定一个字符串和排列组合长度生成所有可能的排列组合 $Array=permutations("ABC",3);
function permutations($letters,$num){
$last = str_repeat($letters{0},$num);
$result = array();
while($last != str_repeat(lastchar($letters),$num)){
$result[] = $last;
$last = char_add($letters,$last,$num-1);
}
$result[] = $last;
return $result;
}
function char_add($digits,$string,$char){
if($string{$char} <> lastchar($digits)){
$string{$char} = $digits{strpos($digits,$string{$char})+1};
return $string;
}else{
$string = changeall($string,$digits{0},$char);
return char_add($digits,$string,$char-1);
}
}
function lastchar($string){
return $string{strlen($string)-1};
}
function changeall($string,$char,$start = 0,$end = 0){
if($end == 0) $end = strlen($string)-1;
for($i=$start;$i<=$end;$i++){
$string{$i} = $char;
}
return $string;
}
$Array=permutations("abcdefghijklmnopqrstuvwxyz",5);
for($i=0 ; $i < count($Array) ; $i++) {
// echo "$i." . $Array[$i] . "\n";
$str = $Array[$i];
$ret = bdUrlAPI(1, $str);
echo "\n $i ".$str.' '.$ret."\n";
}
/*
for($i=0;;$i++)
{
$str = getRandChar(4);
$ret = bdUrlAPI(1, $str);
echo "\n\n ".$str.' '.$ret."\n";
//echo 'Short to Long: '.bdUrlAPI(0, $arr[$i]) ;
}
require_once("idiorm.php");
ORM::configure('mysql:host=localhost;dbname=cets');
ORM::configure('username', 'test');
ORM::configure('password', 'test');
$db = ORM::get_db();
$contact_list = ORM::for_table('cetsix')->limit(10000000)->find_many();
foreach ($contact_list as $contact):
$str= $contact->words;
echo $str." ";
$ret = bdUrlAPI(1, $str);
endforeach;
*/
?>
/**
* @author: vfhky 20130304 20:10
* @description: PHP调用百度短网址API接口
* * @param string $type: 非零整数代表长网址转短网址,0表示短网址转长网址
*/
function bdUrlAPI($type, $alias){
if($type)
$baseurl = 'http://dwz.cn/create.php';
else
$baseurl = 'http://dwz.cn/query.php';
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$baseurl);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
if($type) {
$target="http://app.tongxinmao.com/dwz.php?id=%s";
$data=array();
$data['url']=sprintf($target,$alias);
$data['alias']=$alias;
}
else
$data=array('tinyurl'=>$alias);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$strRes=curl_exec($ch);
curl_close($ch);
$arrResponse=json_decode($strRes,true);
if($arrResponse['status']!=0)
{
echo 'ErrorCode: ['.$arrResponse['status'].'] ErrorMsg: ['.iconv('UTF-8','GBK',$arrResponse['err_msg'])."]\n";
return 0;
}
if($type)
return $arrResponse['tinyurl'];
else
return $arrResponse['longurl'];
}
function getRandChar($length){
$str = null;
$strPol = '0123456789';//"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
$max = strlen($strPol)-1;
for($i=0;$i<$length;$i++){
$str.=$strPol[rand(0,$max)];//rand($min,$max)生成介于min和max两个数之间的一个随机整数
}
return $str;
}
//给定一个字符串和排列组合长度生成所有可能的排列组合 $Array=permutations("ABC",3);
function permutations($letters,$num){
$last = str_repeat($letters{0},$num);
$result = array();
while($last != str_repeat(lastchar($letters),$num)){
$result[] = $last;
$last = char_add($letters,$last,$num-1);
}
$result[] = $last;
return $result;
}
function char_add($digits,$string,$char){
if($string{$char} <> lastchar($digits)){
$string{$char} = $digits{strpos($digits,$string{$char})+1};
return $string;
}else{
$string = changeall($string,$digits{0},$char);
return char_add($digits,$string,$char-1);
}
}
function lastchar($string){
return $string{strlen($string)-1};
}
function changeall($string,$char,$start = 0,$end = 0){
if($end == 0) $end = strlen($string)-1;
for($i=$start;$i<=$end;$i++){
$string{$i} = $char;
}
return $string;
}
$Array=permutations("abcdefghijklmnopqrstuvwxyz",5);
for($i=0 ; $i < count($Array) ; $i++) {
// echo "$i." . $Array[$i] . "\n";
$str = $Array[$i];
$ret = bdUrlAPI(1, $str);
echo "\n $i ".$str.' '.$ret."\n";
}
/*
for($i=0;;$i++)
{
$str = getRandChar(4);
$ret = bdUrlAPI(1, $str);
echo "\n\n ".$str.' '.$ret."\n";
//echo 'Short to Long: '.bdUrlAPI(0, $arr[$i]) ;
}
require_once("idiorm.php");
ORM::configure('mysql:host=localhost;dbname=cets');
ORM::configure('username', 'test');
ORM::configure('password', 'test');
$db = ORM::get_db();
$contact_list = ORM::for_table('cetsix')->limit(10000000)->find_many();
foreach ($contact_list as $contact):
$str= $contact->words;
echo $str." ";
$ret = bdUrlAPI(1, $str);
endforeach;
*/
?>