Heim > php教程 > PHP源码 > 谷歌,bit.ly,is.gd,x.co网址缩短

谷歌,bit.ly,is.gd,x.co网址缩短

PHP中文网
Freigeben: 2016-05-25 17:11:06
Original
2612 Leute haben es durchsucht





 1. [代码][PHP]代码               

<?php
if(!empty($_GET["u"]) && strlen($_GET["u"])>11 ) //get the longurl,如果长度很短,也没用必要压缩
{
$url = $_GET["u"];
if (filter_var($url, FILTER_VALIDATE_URL,FILTER_FLAG_HOST_REQUIRED))
 {
$longurl=urlencode($url);
//begin bitly
$login="helong"; //bitly login name
$apikey="R_521dd354f25761aa816fb2317c5cc26f"; //bitly apikey //m.sbmmt.com/
$format="txt"; //bitly api format
$bitly = &#39;http://api.bit.ly/v3/shorten?longUrl=&#39;.$longurl.&#39;&login=&#39;.$login.&#39;&apiKey=&#39;.$apikey.&#39;&format=&#39;.$format;
$bitly = file_get_contents($bitly);
$bitly=trim($bitly);
echo $bitly;
echo "<br/>";
//begin isgd
$isgd=&#39;http://is.gd/create.php?format=simple&url=&#39;.$longurl;
$isgd = file_get_contents($isgd);
$isgd=trim($isgd);
echo $isgd;
echo "<br/>";
//begin google
include(&#39;GAPIClass.php&#39;);
$objAPI = new GAPIClass(&#39;AIzaSyBiZuNRs81SA5VfPk8W4JtAH2B49hzEPrE&#39;);
$google = $objAPI->shorten($url);
$google=trim($google);
echo $google; //print goo.gl result
echo "<br/>";
//begin x.co
$xco=&#39;http://x.co/Squeeze.svc/text/9398242565bd41a384ae959cce109604?url=&#39;.$longurl;
////m.sbmmt.com/  //m.sbmmt.com/{apikey}?url=
$xco = file_get_contents($xco);
$xco=trim($xco);
echo $xco;
echo "<br/>";
//end x.co
}
else
echo "亲,您输入的网址不对哦!";//sorry,something wrong with your url
}
?>
<form id="form1" name="form1" method="get" action="index.php">
<input type="text" name="u" />
<input type="submit"  value="Short it" />
</form>
Nach dem Login kopieren

2. [代码]GAPIClass.php

<?php
/**
 * Copyright (c) 2011 //m.sbmmt.com/
 * @package    GAPIClass
 * @author	   Vijay Joshi
 * @link       //m.sbmmt.com/
 * @copyright  Copyright (c) 2011 GAPIClass (//m.sbmmt.com/)
 * @version    1.0.0, 2011-01-21
 */
class GAPIClass
{
	private $_apiKey;
	public $error;
	public $keyWarning = true;
	public function __construct($key = NULL)
	{
		$this->_apiKey = $key;
	}
	public function shorten($longUrl)
	{
		$postData = array(&#39;longUrl&#39; => $longUrl);
		if(!is_null($this->_apiKey))
		{
			$postData[&#39;key&#39;] = $this->_apiKey;
		}
		$jsonData = json_encode($postData);
		$curlObj = curl_init();
		curl_setopt($curlObj, CURLOPT_URL, &#39;https://www.googleapis.com/urlshortener/v1/url&#39;);
		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(&#39;Content-type:application/json&#39;));
		curl_setopt($curlObj, CURLOPT_POST, 1);
		curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData);
		$response = curl_exec($curlObj);
		curl_close($curlObj);
		$json = json_decode($response);
		if($this->hasErrors($json))
		{
			return false;
		}
		else
		{
			return $json->id;
		}
	}
	private function hasErrors($json)
	{
		if($this->keyWarning)
		{
			if(is_null($this->_apiKey))
			{
				echo &#39;<p>Currently you are not using an API key. It is recommended that you use one. <a href="http://code.google.com/apis/urlshortener/v1/authentication.html#key">Click here to learn more about the API key</a></p>&#39;;
			}
		}
		if(is_object($json))
		{
			if(isset($json->error))
			{
				foreach($json->error->errors as $error)
				{
					$this->error.= $error->message.&#39;:&#39;.$error->location.&#39;; &#39;;
				}
				return true;
			}
		}
		else
		{
			$this->error = &#39;Malformed JSON response&#39;;
			return true;
		}
	}
}
?>
Nach dem Login kopieren

                   


                   

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage