Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [PHP]301 redirect (https://forum.antichat.xyz/showthread.php?t=76485)

Chaak 08.07.2008 22:42

[PHP]301 redirect
 
Задаю вопрос еще раз, так как на него не дождался ответа в вопросах, и врятли дождусь.
Столкнулся с проблемой:
Отправляю сокетом на скачку главной страницы яндекса, и мне выдает ответ что там стоит 301 редирект.

Вообщем как по нему перейти или избежать его вообще?

P.S заметил, если не отправлять Host:, то все работает(НО имхо это не выход).

Заранее спасибо

-=Static=- 08.07.2008 23:14

кинь исходник того что и как ты туда отправляешь.

Chaak 08.07.2008 23:27

PHP код:

$site "http://yandex.ru/";

preg_match("/[.]{1}[a-zA-Z]{2,5}(\/[a-zA-Z0-9\-\_\.\,\:]+)/",$site,$path);
preg_match("/[:]{1}\/\/([a-zA-Z0-9\-\.]+)\//",$site,$host);
define("PATH",$path[1]);
define("HOST",$host[1]);


$fp = @fsockopen(HOST,80,$errno,$errstr,10) or exit();

$out "GET /".PATH." HTTP/1.0\r\n";
$out .= "Host: ".HOST."\r\n";
$out .= "Referer: ".$site."\r\n";
$out .= "User-Agent: Opera/9.50 (Windows NT 6.0; U; ru)\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Connection: close\r\n\r\n";

fwrite($fp,$out);
while(!
feof($fp)){
    
$page .= fread($fp,512);
}
fclose($fp); 

Вот кусочик^

-=Static=- 08.07.2008 23:33

Вот все ОК:

PHP код:

<?
$site 
"www.yandex.ru"

preg_match("/[.]{1}[a-zA-Z]{2,5}(\/[a-zA-Z0-9\-\_\.\,\:]+)/",$site,$path); 
preg_match("/[:]{1}\/\/([a-zA-Z0-9\-\.]+)\//",$site,$host); 
define("PATH",""); 
define("HOST",$site); 


$fp = @fsockopen(HOST,80,$errno,$errstr,10) or exit(); 

$out  "GET /".PATH." HTTP/1.0\r\n"
$out .= "Host: ".HOST."\r\n"
$out .= "Referer: ".$site."\r\n"
$out .= "User-Agent: Opera/9.50 (Windows NT 6.0; U; ru)\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n"
$out .= "Connection: close\r\n\r\n";

fwrite($fp,$out); 
while(!
feof($fp)){ 
    
$page .= fread($fp,512); 


echo 
$page;
fclose($fp); 
?>

Там редирект 500% стоит просто с yandex.ru на www.yandex.ru
чтоб все происходило на www.yandex.ru этож типа разные домены))


Время: 23:03