在使用 PHP 進行 Web 開發的時候,經常需要用到 curl 方式進行 HTTP 請求。通過 curl,我們可以設置請求頭和其他一些請求選項,以及獲取響應的內容。本文將重點介紹 curl 頭的相關知識。
一、設置請求頭
在使用 curl 進行 HTTP 請求的時候,如果需要傳遞一些請求頭信息,我們可以使用 curl_setopt 函數設置 CURLOPT_HTTPHEADER 選項。CURLOPT_HTTPHEADER 選項接收一個數組,包含了我們需要設置的請求頭信息。下面是一個例子:
$ch = curl_init(); $curlHeaders = ['Content-Type: application/json', 'Authorization: Bearer 123456']; curl_setopt($ch, CURLOPT_URL, 'https://example.com/api'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $curlHeaders); $response = curl_exec($ch);在上面的例子中,我們設置了請求的 Content-Type 和 Authorization 信息,因此,在發送 HTTP 請求的時候,這些信息會被添加到請求頭中。這樣,我們就可以向服務端發送所需要的授權信息和請求內容類型信息,確保請求能夠被正確解析和處理。 二、自定義請求頭 除了常用的 Content-Type 和 Authorization 請求頭之外,有些時候我們需要傳遞一些自定義的請求頭信息。在 curl 中,我們可以通過下面代碼添加自定義頭:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://example.com/api'); $curlHeaders[] = 'X-My-Header: 123456'; curl_setopt($ch, CURLOPT_HTTPHEADER, $curlHeaders); $response = curl_exec($ch);在這個例子中,我們設置了一個 X-My-Header 請求頭,值為 123456。這樣,我們就可以通過這個請求頭來傳遞我們自己的自定義信息。 三、獲取響應頭 在使用 curl 進行 HTTP 請求的時候,我們不僅可以設置請求頭,還可以獲取響應頭信息。在 curl 中,我們可以通過 CURLOPT_HEADER 選項來告訴它在響應中包含頭部信息。下面是一個例子:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://example.com/api'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); $response = curl_exec($ch); $headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($response, 0, $headerSize); echo $header;在這個例子中,我們設置了 CURLOPT_HEADER 選項,然后利用 curl_getinfo 函數獲取到了響應頭的大小,最后使用 substr 函數提取出響應頭并輸出到屏幕上。 四、總結 通過設置 curl 頭,我們可以進行 HTTP 請求的授權、指定請求內容類型、自定義請求頭以及獲取響應頭信息等操作。在實際的開發中,我們可以根據具體的開發需要進行設置。
上一篇php curl多線程
下一篇php curl太慢