2011-01-07 5 views
2

を取得:のような単純な要求を作るZend_Http最終URL

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

がどのように私はリダイレクト後の最終的なURLを取得することができますか? 私は何かが欠落していない限り、ドキュメントやAPIのドキュメントには見たことがありません。

ありがとうございます。テストされていない

答えて

0

$response->getHeader('Location'); 
+0

リダイレクトがあると、場所がヘッダーに含まれます。ヘッダーに最終的なURLは含まれていません。私はあきらめて、カールを使い始めました。しかし、試してくれてありがとう! – clips404

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 
2

Zend_Http_Clientリダイレクトがある場合、Zend_Http_Client-> uriプロパティに最後のURLを更新します。

$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/" 
関連する問題