2

发出一个简单的请求,例如:

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

重定向后如何获取最终 URL?除非我遗漏了什么,否则我在文档或 API 文档中没有看到任何方法。

提前致谢。

4

3 回答 3

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/" 
于 2012-07-16T19:55:12.367 回答
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
于 2011-09-06T17:06:53.423 回答
0

未测试:

$response->getHeader('Location');
于 2011-01-10T08:05:05.810 回答