Home > php教程 > PHP源码 > body text

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

PHP中文网
Release: 2016-05-25 17:11:06
Original
2590 people have browsed it





 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 http://www.php.cn/
$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;
//http://www.php.cn/  http://www.php.cn/{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>
Copy after login

2. [代码]GAPIClass.php

<?php
/**
 * Copyright (c) 2011 http://www.php.cn/
 * @package    GAPIClass
 * @author	   Vijay Joshi
 * @link       http://www.php.cn/
 * @copyright  Copyright (c) 2011 GAPIClass (http://www.php.cn/)
 * @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;
		}
	}
}
?>
Copy after login

                   


                   

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template