pehser
Новичок
получить заголовок при возрощяюшем куке
вот проблема есть скрипт работа без проблем но вот нарвался на такой сай котрый возрощяет кукеш и если его не обработать получаю мол доступ закрыт, подскажите как подсправить скрипт
Сылка на которой возникает проблема http://www.foto.radikal.ru/
если заходить через браузер то вот что показал снифер
GET http://www.foto.radikal.ru/ HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Accept-Language: ru-ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host: www.foto.radikal.ru
Proxy-Connection: Keep-Alive
Server: Microsoft-IIS/5.0
Date: Fri, 04 Aug 2006 09:41:16 GMT
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Set-Cookie: ASP.NET_SessionId=gj3qkz45wyqyofez20vwvfeq; path=/
Set-Cookie: UID=3ebaee5bddb6655942278fb557007857; expires=Sa
Если код в нынешней модификации заголовок получаю
HTTP/1.1 403 Access Forbidden
Server: Microsoft-IIS/5.0
Date: Fri, 04 Aug 2006 11:13:20 GMT
Connection: close
Content-Type: text/html
Content-Length: 135
вот проблема есть скрипт работа без проблем но вот нарвался на такой сай котрый возрощяет кукеш и если его не обработать получаю мол доступ закрыт, подскажите как подсправить скрипт
PHP:
function inf_url($url,$Referer='',$timeo = 3) //Данные из заголовка
{
$a = @parse_url($url);
$url_temp=$url;
$a["scheme"] = isset($a['scheme']) ? $a['scheme'] : 'http';
if(!$a["host"]) return FALSE;
$a["port"] = isset($a['port']) ? $a['port'] : '80';
$a["path"] = isset($a["path"]) ? $a["path"] : '/';
$a["user"] = isset($a['user']) ? $a['user'] : '';
$a["pass"] = isset($a['pass']) ? $a['pass'] : '';
$a["fragment"]= isset($a['fragment']) ? $a['fragment'] : '';
if ($a["fragment"] != '') $a["fragment"] = "#".$a["fragment"];
$a["query"]= isset($a['query']) ? $a['query'] : '';
if ($a["query"] != '') $a["query"] = "?".$a["query"];
$url = $a["scheme"].'://'.$a["host"].':'.$a["port"].$a["path"].$a["query"];
$fp = @fsockopen($a["host"], $a["port"], $errno, $errstr, $timeo);
if(!$fp)
{
return 'not conect';
}
else
{
fputs($fp,"HEAD $a[path]$a[query]$a[fragment] HTTP/1.1\r\n");
fputs($fp,"User-Agent: Opera/9.01 (Windows NT 5.1; U; ru)\r\n");
fputs($fp,"Host: $a[host]\r\n");
fputs($fp,"Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n");
fputs($fp,"Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n");
fputs($fp,"Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n");
fputs($fp,"Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n");
if(!empty($a["user"]) and !empty($a["pass"])) fputs($fp,"Authorization: Basic ".Base64_Encode($a["user"].":".$a["pass"])."\r\n");
if($Referer!="") fputs($fp,"Referer: $Referer\r\n");
fputs($fp,"Connection: Keep-Alive, TE\r\n");
fputs($fp,"TE: deflate, gzip, chunked, identity, trailers\r\n\r\n");
$headers="";
do {
$chunk = fgets($fp, 4096);
$headers.=$chunk;
}
while ($chunk !== "\r\n");
unset($chunk);
fclose($fp);
}
return $headers;
}
если заходить через браузер то вот что показал снифер
GET http://www.foto.radikal.ru/ HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Accept-Language: ru-ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host: www.foto.radikal.ru
Proxy-Connection: Keep-Alive
Server: Microsoft-IIS/5.0
Date: Fri, 04 Aug 2006 09:41:16 GMT
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Set-Cookie: ASP.NET_SessionId=gj3qkz45wyqyofez20vwvfeq; path=/
Set-Cookie: UID=3ebaee5bddb6655942278fb557007857; expires=Sa
Если код в нынешней модификации заголовок получаю
HTTP/1.1 403 Access Forbidden
Server: Microsoft-IIS/5.0
Date: Fri, 04 Aug 2006 11:13:20 GMT
Connection: close
Content-Type: text/html
Content-Length: 135