2010-07-30 4 views
3

J'utilise Zend_HTTP_Client pour envoyer des requêtes HTTP à un serveur et obtenir une réponse. Le serveur auquel j'envoie les requêtes est un serveur Web HTTPS. Actuellement, une demande d'aller-retour prend environ 10-12 secondes. Je comprends que les frais généraux peuvent être dus au traitement lent du serveur Web auquel les demandes vont.Skip SSL Check in Zend_HTTP_Client

Est-il possible d'ignorer les vérifications de certificats SSL comme nous le faisons dans CURL pour accélérer les performances? Si oui, comment définir ces paramètres?

J'ai le code suivant:

try 
    { 
     $desturl ="https://1.2.3.4/api"; 

     // Instantiate our client object 
     $http = new Zend_Http_Client(); 

     // Set the URI to a POST data processor 
     $http->setUri($desturl); 

     // Set the POST Data 
     $http->setRawData($postdata); 

     //Set Config 
     $http->setConfig(array('persistent'=>true)); 

     // Make the HTTP POST request and save the HTTP response 
     $httpResponse = $http->request('POST'); 
    } 
    catch (Zend_Exception $e) 
    { 
     $httpResponse = ""; 
    } 

    if($httpResponse!="") 
    { 
     $httpResponse = $httpResponse->getBody(); 
    } 

    //Return the body of HTTTP Response 
    return $httpResponse; 
+0

Vous devinez quel est le problème de performance? Pourquoi ne pas en être sûr? –

Répondre

6

Si vous êtes confiant SSL est le problème, vous pouvez configurer Zend_Http_Client utiliser curl, puis passer dans les curl appropriées options.

http://framework.zend.com/manual/en/zend.http.client.adapters.html

$config = array( 
    'adapter' => 'Zend_Http_Client_Adapter_Curl', 
    'curloptions' => array(CURLOPT_SSL_VERIFYPEER => false), 
); 

$client = new Zend_Http_Client($uri, $config); 

Je recommande effectivement d'utiliser l'adaptateur curl, juste parce que curl a à peu près toutes les options dont vous aurez besoin, et Zend fournit un emballage très agréable.