2012-02-07 11 views
2

私はそのようなものがあります。これは、に似要求生成する完全なZend_Http_Client GET URIを取得するには?

$client = new Zend_Http_Client('http://www.site.com'); 
    $client->setParameterGet(array(
     'platform'  => $platform, 
     'clientId'  => $clientId, 
     'deploymentId' => $deploymentId, 
    )); 

    try { 
     $response = $client->request(); 
     ... 

を '??のhttp:?//www.site.com/厚底= ..のClientIDを..'。 このGETリクエストによって生成された完全なURLを取得する方法はありますか? 種類:

答えて

2

驚くほど十分なリクエスト文字列を取得するための方法はありません。 しかし

  1. 要求はあなたが$クライアント - > getLastRequest を()チェックすることができ行われた後。
  2. ?plataform = ..?clientidとは何ですか? リクエストの一部にトリックがあります。

function getClientUrl (Zend_Http_Client $client) 
{ 
    try 
    { 
     $c = clone $client; 
     /* 
     * Assume there is nothing on 80 port. 
     */ 
     $c->setUri ('http://127.0.0.1'); 

     $c->getAdapter() 
      ->setConfig (array (
      'timeout' => 0 
     )); 

     $c->request(); 
    } 
    catch (Exception $e) 
    { 
     $string = $c->getLastRequest(); 
     $string = substr ($string, 4, strpos ($string, "HTTP/1.1\r\n") - 5); 
    } 
    return $client->getUri (true) . $string; 
} 

$client = new Zend_Http_Client ('http://yahoo.com'); 
$client->setParameterGet ('q', 'search string'); 

echo getClientUrl ($client); 
+0

"トリックがある" または "トリッキーですか"? :) とにかくありがとう。私はそのような必要性を持っていたことは誰も驚いていません...クラス全体を書き直し、そのような機能を追加する価値があるかもしれません... –

+0

それはトリッキーなトリックです。あなたが興味を持っているなら、私はあなたに手がかりを与えることができます。 – akond

+0

ああ、そうしてください!それは私の多くを助けるだろう! :) –

関連する問題