_validateUri($url); $serviceUri = 'http://tinyurl.com/api-create.php'; $this->getHttpClient()->setUri($serviceUri); $this->getHttpClient()->setParameterGet('url', $url); $response = $this->getHttpClient()->request(); return $response->getBody(); } /** * Reveals target for short URL * * @param string $shortenedUrl URL to reveal target of * @throws Zend_Service_ShortUrl_Exception When URL is not valid or is not shortened by this service * @return string */ public function unshorten($shortenedUrl) { $this->_validateUri($shortenedUrl); $this->_verifyBaseUri($shortenedUrl); //TinyUrl.com does not have an API for that, but we can use preview feature //we need new Zend_Http_Client $this->setHttpClient(new Zend_Http_Client()); $this->getHttpClient() ->setCookie('preview', 1) ->setUri($shortenedUrl); //get response $response = $this->getHttpClient()->request(); require_once 'Zend/Dom/Query.php'; $dom = new Zend_Dom_Query($response->getBody()); //find the redirect url link $results = $dom->query('a#redirecturl'); //get href $originalUrl = $results->current()->getAttribute('href'); return $originalUrl; } }