Получение Zend_Http Финального URL - PullRequest
2 голосов
/ 07 января 2011

Выполнение простого запроса, например:

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

Как я могу получить окончательный URL после перенаправления? Я не видел пути в документации или документации по API, если не пропустил что-то.

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 16 июля 2012

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/" 
0 голосов
/ 06 сентября 2011

Получить последний запрос от клиента и затем извлечь заголовки.

$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
0 голосов
/ 10 января 2011

Не тестировалось:

$response->getHeader('Location');
...