获取Zend_Http最终URL

时间:2011-01-07 16:16:57

标签: zend-framework zend-http-client

提出简单的请求:

$client = new Zend_Http_Client('http://example.org');
$response = $client->request();

如何在重定向后获取最终到达网址? 我没有在文档或API文档中看到过一种方法,除非我遗漏了一些东西。

提前致谢。

3 个答案:

答案 0 :(得分:2)

如果有重定向,则Zend_Http_Client将最后一个URL更新为Zend_Http_Client-> uri属性。

$sourceUrl = 'http://google.com';
$client = new Zend_Http_Client($sourceUrl); 
$response = $client->request(); 
$finalUrl = $client->getUri()->__toString();

var_dump($sourceUrl);
// string(17) "http://google.com"
var_dump($finalUrl);
// string(25) "http://www.google.com:80/" 

答案 1 :(得分:0)

未经测试:

$response->getHeader('Location');

答案 2 :(得分:0)

从客户端获取最后一个请求,然后提取标题。

$client = new Zend_Http_Client('http://webonyx.com');
$response = $client->request();
$lastHeaders = Zend_Http_Response::extractHeaders($client->getLastRequest());

// $lastHeaders['host'] will be your final redirected host
相关问题