2012-10-21 40 views
5

以下代碼:爲什麼不用curl在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; 

具有以下輸出(的php.exe mycurl.php):

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

我的問題是:

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

在localhost的search.php中:我設置的標題發生了什麼?

+0

爲什麼哦爲什麼你會在調試時關閉錯誤報告????? – goat

+0

這是一個命令行應用程序,PHP網頁代碼來自另一個應用程序,我只是借用該頁面來檢查發送了哪些頭。下一行是死(0) – HMR

回答

16

頭的格式爲:

Header: value 

你的例子是缺少在每個標題的結腸。只需像這樣調整它:

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

剛剛發現,複製並粘貼頭從螢火蟲淨面板,只是注意到:失蹤。 – HMR

相關問題