时间:2010-07-24 20:29:08

标签: php http curl

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

答案 2 :(得分:0)

  1. 执行您的请求

  2. curl_getinfo的返回值

  3. 获取标题的长度
  4. 检索最后\r\n\r\n之间(但在标题末尾之前)和标题结尾之间的部分作为最后一个标题

  5. // Step 1: Execute
    $fullResponse = curl_exec($ch);
    
    // Step 2: Take the header length
    $headerLength = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
    
    // Step 3: Get the last header
    $header = substr($fullResponse, 0, $headerLength - 4);
    $lastHeader = substr($header, (strrpos($header, "\r\n\r\n") ?: -4) + 4);
    

    当然,如果你有PHP< 5.3你必须将elvis operator扩展为if / else结构。

答案 3 :(得分:0)

迟到的答案,但也许更简单的方法;

$result = explode("\r\n\r\n", $result);

// drop redirect etc. headers
while (count($result) > 2) {
    array_shift($result);
}

// split headers / body parts
@ list($headers, $body) = $result;