note 68122 modified in function.curl-setopt by danbrown

From: Date: Sun, 17 May 2009 17:29:55 +0000
Subject: note 68122 modified in function.curl-setopt by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-154990@lists.php.net to get a copy of this message
You can use CURLOPT_HEADERFUNCTION with a callback inside an object. This makes is it easy to capture the headers for later use. For example: <?php class Test { public $headers; //... public function exec($opts) { $this->headers = array(); $opts[CURLOPT_HEADERFUNCTION] = array($this, '_setHeader'); $ch = curl_init(); curl_setopt_array($ch, $opts); return curl_exec($ch); } private function _setHeader($ch, $header) { $this->headers[] = $header; return strlen($header); } } $test = new Test(); $opts = array( //... your curl opts here ); $data = $test->exec($opts); print_r($test->headers); ?> ...something like that (This works in php v. 5.1.4) --was-- You can use CURLOPT_HEADERFUNCTION with a callback inside an object. This makes is it easy to capture the headers for later use. For example: <? class Test { public $headers; //... public function exec($opts) { $this->headers = array(); $opts[CURLOPT_HEADERFUNCTION] = array($this, '_setHeader'); $ch = curl_init(); curl_setopt_array($ch, $opts); return curl_exec($ch); } private function _setHeader($ch, $header) { $this->headers[] = $header; return strlen($header); } } $test = new Test(); $opts = array( //... your curl opts here ); $data = $test->exec($opts); print_r($test->headers); ?> ...something like that (This works in php v. 5.1.4) http://php.net/manual/en/function.curl-setopt.php

« previous php.notes (#154990) next »