curlopt_header curl_init php curl http-headers

curl_init - php curl post json



¿Por qué Curl no envía mis encabezados en PHP? (1)

El siguiente código:

$ch = curl_init(''http://localhost/testweb/search.php''); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( ''Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'', ''Accept-Encoding gzip, deflate'', ''Accept-Language en-US,en;q=0.5'', ''Connection keep-alive'', ''SomeBull BeingIgnored'', ''Cookie CLASSICPAGE=off'', ''User-Agent Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0'' )); $response = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); $body = substr($response, -$info[''download_content_length'']); echo $body;

tiene la siguiente salida (php.exe mycurl.php):

Host: localhost Accept: */* User-Agent Mozilla/5.0 (Windows NT 5.1; rv: 16.0) Gecko/20100101 Firefox/16.0

El search.php en localhost:

error_reporting(0); header("Content-Type: text/plain"); foreach (getallheaders() as $name => $value) { echo "$name: $value/n"; }

Mi pregunta es: ¿qué pasó con los encabezados que establecí?


Los encabezados están en el formato:

Header: value

A su ejemplo le faltan dos puntos en cada uno de los encabezados. Simplemente ajústelo así:

curl_setopt($ch, CURLOPT_HTTPHEADER, array( ''Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'', ''Accept-Encoding: gzip, deflate'', ''Accept-Language: en-US,en;q=0.5'', ''Connection: keep-alive'', ''SomeBull: BeingIgnored'', ''User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0'' ) );