Я использую Zend_HTTP_Client, чтобы отправить Запросы HTTP на сервер и вернуть ответ. Сервер, к которому я отправляю запросы, является веб-сервером HTTPS. В настоящее время один запрос распространения в прямом и обратном направлениях занимает приблизительно 10-12 секунд. Я понимаю, что издержки могли бы быть из-за медленной обработки веб-сервера, в который переходят запросы.
Действительно ли возможно пропустить проверки сертификата SSL как, мы делаем в ЗАВИХРЕНИИ для ускорения производительности? Если так, как установить те параметры?
У меня есть следующий код:
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;
Если вы уверены, что проблема в SSL
, то вы можете настроить Zend_Http_Client
на использование curl
, а затем передать в соответствующих параметрах curl
.
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);
Я действительно рекомендую использовать адаптер curl
только потому, что curl
имеет практически все варианты, которые вам когда-либо понадобятся, а Zend действительно предоставляет действительно хорошую оболочку.