2012-01-19 26 views
11

En un buen número de ejemplos enrollamiento gente utiliza:¿Por qué desactivar el encabezado en curl?

curl_setopt($ch, CURLOPT_HEADER, 0); 

¿Cuál es el beneficio de hacer esto?

Logré mostrar una imagen y quiero saber qué opciones debo poner/quitar y por qué.

curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); // use? 
curl_setopt($curlGetToken, CURLOPT_ENCODING, 'gzip'); // does it slow down MY server 
+4

Buena pregunta ... CURLOPT_HEADER por defecto es 'falso' para empezar, así que aparte de la claridad, no sé por qué lo pondría a' falso' explícitamente. – Brad

Respuesta

11

Cuando CURLOPT_HEADER se establece en 0 el único efecto es que información de la cabecera de la respuesta se excluye de la salida. Entonces, si no lo necesitas, hay unos pocos KB menos que el curl te devolverá.

+0

¿Y me puedes decir más sobre los otros dos? ¿Será útil habilitarlos al cargar una imagen? – SuperSpy

+0

Todas las descripciones de opciones de CURL están disponibles aquí: http://www.php.net/manual/en/function.curl-setopt.php. Parece que CURLOPT_BINARYTRANSFER se usa para devolver los datos binarios reales cuando una URL redirige (útil para las imágenes). CURLOPT_ENCODING solo le dice al servidor qué tipos de codificación aceptará. De cualquier forma, los datos solo se decodificarán si es necesario. Pero al darle un valor a CURLOPT_ENCODING, usted está limitando su llamada para aceptar solo un tipo de codificación. –

5

Según el docs, controla si el encabezado (s) se devolverá junto con el cuerpo de la respuesta. En general, si solo le interesa el cuerpo de la respuesta, quiere que se deshabilite (que es el valor predeterminado).

+0

¿Qué habrá en los encabezados? ¿ES esto lo que devuelve el servidor visitado? – SuperSpy

+0

@SuperSpy: Sí, los encabezados de respuesta. – alex

+0

@alex: ¿Sabes cuál es el valor predeterminado? ¿Por qué configurarlo en '0' o' falso' cuando es (al menos esto es lo que supongo) 'false' /' 0' de forma predeterminada? – hakre

0

E.g. cuando se trata de conseguir algunas cosas JSON con los rizos llamada, puede hacerlo fácilmente:

$decodedData = json_decode($curlResult, true); 

$decodedData es ahora una matriz.

Si los encabezados están contenidos en $curlResult, estos deben eliminarse primero (posiblemente con un reg exp).

Cuestiones relacionadas