czytałem manual

ale tak jak napisałem powyżej
Cytat
1 i 2 sposób nie działają z prostej przyczyny że curl_exec w przypadku ustawienia CURLOPT_NOBODY zwraca 1.
jeśli ustawisz CURLOPT_NOBODY, 0 jako rezultat zostanie zwrócona sekcja <html>...</html> ( w przypadku http ), CURLOPT_RETURNTRANSFER nie zwraca nagłówka!
problem udało mi się częściowo rozwiązać (manula był wciągający)
<?php
function header_response( $ch, $str )
{
}
$ch = curl_init();
switch ( $_SESSION['status'] )
{
default: // snip: ldcw010-10001-PORTAL-PSJSESSIONID
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, \"header_response\");
$result = curl_exec($ch);
$_SESSION['status'] = 'snip_PS_TOKEN';
break;
}
curl_close($ch);
?>
po wykorzystaniu CURLOPT_HEADERFUNCTION zwraca nagłówek... ale tylko pierwszą linię ;/ HTTP/1.1 500 Internal Server Error 36
nie wiem jak zrobić żeby zwracało pełny nagłówek...
ma ktoś jakieś pomysły ?
szukałem po sieci i znalazłem obiektowe podejście do problemu
<?php
curl_setopt
($ch, CURLOPT_HEADERFUNCTION
, array(&$this,\"curl_header_read\"));
?>
próbowalem to wykorzystać...
<?php
class firefrost
{
public function __construct()
{
$this -> ch = curl_init();
switch ( $_SESSION['status'] )
{
default: // snip: ldcw010-10001-PORTAL-PSJSESSIONID
curl_setopt($this -> ch, CURLOPT_URL, $this -> url);
curl_setopt($this -> ch, CURLOPT_HEADER, 1);
curl_setopt($this -> ch, CURLOPT_NOBODY, 1);
curl_setopt
($this -> ch
, CURLOPT_HEADERFUNCTION
, array($this, 'read_header')); // teraz jest ok break;
}
curl_close($this -> ch);
}
public function read_header( $ch, $string )
{
echo \"HEADER: GOT $stringn\"; return $len;
}
}
$nowy = new firefrost();
?>
ale teraz kiedy wywołuje CURLOPT_HEADERFUNCTION z parametrem array to apache się wykrzacza.
edit: sorry, działa, jebnąłem się dając inną nazwę funkcji

LOL