2012-10-21 6 views
5

Poniższy kod:Dlaczego curl nie wysyła moich nagłówków w PHP?

$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; 

posiada następujące wyjścia (php.exe mycurl.php):

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

The search.php na localhost:

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

moje pytanie brzmi: : co stało się z nagłówkami, które ustawiłem?

+0

Dlaczego niby dlaczego wyłączyć raportowanie błędów podczas debugowania ????? – goat

+0

To było dla aplikacji linii poleceń, kod strony internetowej PHP był z innej aplikacji i pożyczyłem tę stronę, aby sprawdzić, które nagłówki zostały wysłane., Następną linią było umrzeć (0) – HMR

Odpowiedz

16

Nagłówki są w formacie:

Header: value 

Twój przykład brakuje dwukropka na każdym z nagłówków. Po prostu dostosuj go tak:

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' 
) 
); 
+0

Po prostu znalazłem to, skopiowałem i wkleiłem nagłówki z panelu firebug net i właśnie zauważyłem, że: brakowało. – HMR