2009-12-01 87 views

回答

39

您可以使用curl_getinfo

致電前

curl_setopt($ch, CURLINFO_HEADER_OUT, true); 

$headers = curl_getinfo($ch, CURLINFO_HEADER_OUT); 
+1

不幸的是,這並不表明捲曲請求的主體。有誰知道如何顯示?很顯然,我們將身體傳遞給cURL,但爲了調試,我希望看到cURL發送的是什麼。 – 2015-06-17 21:43:41

+0

@ChadwickMeyer我正在尋找同樣的事情:如何顯示標題和請求正文。似乎不可能。 :-( – 2017-05-21 22:02:22

2

務必在進行之前將CURLINFO_HEADER_OUT選項設置curl_getinfo調用

curl_setopt($ c,CURLINFO_HEADER_OUT,true);

+0

這是不工作的代碼 – 2009-12-01 22:00:17

+2

請指出什麼地方錯了 – jlb 2009-12-02 21:36:09

+0

@Janek 應該如下: curl_setopt($ C,CURLOPT_HEADER,真); – pcdinh 2010-01-05 08:46:05

4

據我所知,在PHP /捲曲結合仍然缺乏對CURLOPT_DEBUGFUNCTION這是libcurl的回調,可以提供所有這些細節適當的支持。

這就是爲什麼我建議人們使用curl命令行工具及其--trace-ascii的選項制定出HTTP腳本的東西首先是首要原因,然後翻譯成一個PHP函數。

+0

它看起來像你說的沒錯,我捅圍繞最新的穩定PHP源了一下,看起來他們** **使用到CURLOPT_DEBUGFUNCTION實現其CURLINFO_HEADER_OUT的選擇,但他們不暴露自己的邊注的全功能CURLOPT_DEBUGFUNCTION:我記得你的電子郵件從PHP捲曲的郵件列表我很驚訝你仍然有耐心去做任何一種PHP相關的libcurl支持:) – 2009-12-01 22:34:50

8
<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLINFO_HEADER_OUT, true); 
curl_exec($ch); 
var_dump(curl_getinfo($ch,CURLINFO_HEADER_OUT)); 
?> 

只有在PHP 5.1.3提供 http://php.net/manual/en/function.curl-getinfo.php


您可以驗證它們是相同的,通過使用您的控制檯,打

捲曲http://example.com/ -I

立方米RL --trace-ascii的/file.txt http://example.com/