php - Error de tipo de contenido al usar Zend_Http_Client
post zend-framework (1)
Esta respuesta me devolvió a la pista: https://stackoverflow.com/a/7407491/3218828
$rawData = '''';
foreach ($postParams as $postParam => $postValue) {
if ($rawData !== '''') {
$rawData .= ''&'';
}
$rawData .= $postParam . ''%5B%5D='' . $postValue;
}
$client = new Zend_Http_Client();
$client->setRawData($rawData);
$client->setUri(''https://ssl.google-analytics.com/debug/collect'');
$client->request(Zend_Http_Client::GET);
Estoy tratando de enviar datos al recopilador de Google Analytic con Zend_Http_Client y POST. Tengo una matriz $postParams
que incluye mi tracking ID, cid y hit types y agrego los valores de esta matriz a mi cliente a través de setParameterPost()
.
Aquí está la parte relevante de mi Acción:
$client = new Zend_Http_Client(''https://ssl.google-analytics.com/debug/collect'');
foreach ($postParams as $postParam => $postValue) {
$client->setParameterPost($postParam, $postValue);
}
$response = $client->request();
Cuando llamo a este script, aparece el siguiente error:
No se puede manejar el tipo de contenido '''' automáticamente. Utilice Zend_Http_Client :: setRawData para enviar este tipo de contenido.
Se arroja en el método _prepareBody()
en Zend_Http_Client. Cuando estoy agregando un echo($this->enctype); die();
echo($this->enctype); die();
allí, recibo NULL
.
$client->setEncType();
a mi código, pero los datos son claros.
¿Alguien tiene una idea de lo que me falta aquí? ¿Realmente tengo que usar setRawData
?
¡Gracias por adelantado!
Actualización: $client->setParameterPost(''postParams'', $postParams);
no funcionará también Lanza el mismo error.