ZendFramework Http Client и Adapter Curl

No48

Новичок
Доброго времени суток.

Помогите разобраться с Zend_Http_Client и Zend_Http_Client_Adapter_Curl.

Есть такой рабочий cURL:

PHP:
        $curl = curl_init();

        curl_setopt_array( $curl, array(
            CURLOPT_URL            => "https://site.com/api/client/validate",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING       => "",
            CURLOPT_MAXREDIRS      => 10,
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST  => "POST",
            CURLOPT_POSTFIELDS     => Zend_Json::encode( $request['data'] ),
            CURLOPT_HTTPHEADER     => array(
                "Accept: */*",
                "Accept-Encoding: gzip, deflate",
                "Cache-Control: no-cache",
                "Connection: keep-alive",
                "Content-Length: 25",
                "Content-Type: application/json",
                "Host: site.com",
                "cache-control: no-cache",
                "signature: " . $this->createSignature( Zend_Json::encode( $request['data'] ) ),
                "store_id: test_store_with_confirm"
            ),
        ) );

        $response = curl_exec( $curl );
Возвращает TRUE.

Пытаюсь его перенести на Zend_Http_Client и Zend_Http_Client_Adapter_Curl:

PHP:
$curlHeader = array(
    'Accept'          => '*/*',
    'Accept-Encoding' => 'gzip, deflate',
    'Cache-Control'   => 'no-cache',
    'Connection'      => 'keep-alive',
    'Content-Length'  => '25',
    'Content-Type'    => 'application/json;charset=utf-8',
    'Host'            => 'site.com',
    'cache-control'   => 'no-cache',
    'signature'       => $this->createSignature( Zend_Json::encode( $request['data'] ) ),
    'store-id'        => $this->storeID
);

$adapter = new Zend_Http_Client_Adapter_Curl();

$adapter->setCurlOption( CURLOPT_RETURNTRANSFER, TRUE );
$adapter->setCurlOption( CURLOPT_ENCODING, '' );
$adapter->setCurlOption( CURLOPT_MAXREDIRS, 10 );
$adapter->setCurlOption( CURLOPT_TIMEOUT, 30 );
$adapter->setCurlOption( CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1 );
$adapter->setCurlOption( CURLOPT_CUSTOMREQUEST, 'POST' );
$adapter->setCurlOption( CURLOPT_POSTFIELDS, Zend_Json::encode( $request['data'] ) );

$client  = new Zend_Http_Client();
$client->setHeaders( $curlHeader );
$client->setMethod(Zend_Http_Client::POST );

$client->setUri( 'https://site.com/api/client/validate' );
$client->setAdapter( $adapter );
Получаю FALSE

Подскажите, где может быть косяк?
 

antonio

Moderator
Команда форума
надо сравнивать запросы, посылаемые обоими вариантами и искать десять отличий.
Посылай через прокси, на прокси пиши запрос в файл, потом сравнишь.
 
Сверху