-Ïîäïèñêà ïî e-mail

 

 -Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â web_development

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 09.03.2005
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 418


Îïÿòü ãóãë

×åòâåðã, 15 Ñåíòÿáðÿ 2005 ã. 15:31 + â öèòàòíèê
zheleznodorzhnik âñå çàïèñè àâòîðà Íå ïðîðàáîòàë ó ìåíÿ ïàðñåð ãóãëÿ è ïàðû íåäåëü êàê ãóãë áûñòðåíüêî âñå ïðîñåê. Ñíà÷àëà ïðîñòî áàíèë ïî ip, à ïîòîì âîîáùå ñòàë îòñûëàòü íå òå ñòðàíèöû. Ó ìåíÿ åñòü òàêàÿ èäåÿ. Ãóãë ïåðåä òåì êàê ïîñûëàåò ñòðàíèöû øëåò çàïðîñ áðàóçåðó, â êîòîðîì ïîñûëàåò êóêè. À ïîòîì áðàóçåð ýòè êóêè âîñïðîèçâîäèò.  ñêðèïòå íóæíî èñïîëüçîâàòü ñîêåòû. Êàê ÿ ïîíèìàþ, íóæíî äåëàòü ïðèìåðíî òàê: ñêðèïò ñîåäèíÿåòñÿ ñ ãóãëîé, øëåò þçåð àãåíòà êàêîãî íèáóäü áðàóçåðà, çàòåì ïðèíèìàåò êóêè, îòñîåäèíÿåòñÿ è ïîñûëàåò ïðèíÿòûå êóêè. È âñå ýòî âûãëÿäåò ïðèìåðíî òàê:

$fs=fsockopen('www.google.com',80);
$get="GET ".urlencode($q)."&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru HTTP/1.0\r\n".
"Accept:*/*\r\n".
"Accept-Language:ru\r\n".
"User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322)\r\n".
"Host:search.rambler.ru\r\n".
"Connection:Keep-Alive\r\n".
"\r\n";
fputs($fs,$get);
$t=fread($fs,10000);
fclose($fs);
preg_match("#Set\-Cookie\: ruid\=([a-zA-Z0-9\=]{20,30})\;#",$t,$ret);

Íî ïðîáëåìà â òîì, ÷òî íóæíî êàê-òî ðàçîðâàòü ñîåäèíåíèå, è âíîâü ïðèñîåäèíèòüñÿ ê ãóãëó... Ìîæåò, êòî-òî ñòàëêèâàëñÿ ñ ïîäîáíîé ïðîáëåìîé?


Ïðîöèòèðîâàíî 1 ðàç

íåïîáåäèìûé   îáðàòèòüñÿ ïî èìåíè ×åòâåðã, 15 Ñåíòÿáðÿ 2005 ã. 17:21 (ññûëêà)
fclose($fs); // ýòî òû óæå è çàêðûë ñîåäèíåíèå.
Ñíîâà ïðèñîåäèíèòüñÿ - îòêðûâàåøü ñîêåò ïî-íîâîé.
$fs=fsockopen('www.google.com',80);
è äàëüøå øëåøü íîâûé çàïðîñ ïî àíàëîãè÷íîé ñõåìå êàê ó òåáÿ â êîäå.

Ïî êîäó åñòü âîïðîñ - çà÷åì òàê "Host:search.rambler.ru\r\n" õîñò ïðîïèñûâàåøü? Íå www.google.com ëè òàì íàäî óêàçûâàòü?
Åùå åñòü áîëüøîå ïîäîçðåíèå, ÷òî ïðîáåëû ñòîèò ñòàâèòü â õåäåðàõ ïîñëå äâîåòî÷èÿ. Ïî êðàéíåé ìåðå â RFC ýòî ðåêîìåíäóþò ;)
Îòâåòèòü Ñ öèòàòîé Â öèòàòíèê
zheleznodorzhnik   îáðàòèòüñÿ ïî èìåíè ×åòâåðã, 15 Ñåíòÿáðÿ 2005 ã. 17:38 (ññûëêà)
Äà âñå, ïðàâèëüíî, íóæíî óêàçûâàòü www.google.com. Ïðîáåëû ïðîñòàâëþ. Êîãäà âòîðîé ðàç ñîåäèíÿþñü ñ ãóãëîé çàïðîñ íà îòñûë êóêîâ êàê äîëæåí ïðèìåðíî âûãëåäåòü? ÷òî òî âðîäå:
$get="GET http://www.google.ru/search?hl=ru&ie=WINDOWS1251&oe=WINDOWS1251&q=".urlencode($q)."&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru".$ret[0]." HTTP/1.0\r\n".
"Accept: */*\r\n".
"Accept-Language: ru\r\n".
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322)\r\n".
"Host:search.rambler.ru\r\n".
"Connection: Keep-Alive\r\n".
"\r\n";
fputs($fs,$get);
Èëè íóæíî â îòäåëüíî ñòðîêå ÿâíî óêàçûâàòü èìÿ ïåðåìåííîé è çíà÷åíèå êóêè?
Îòâåòèòü Ñ öèòàòîé Â öèòàòíèê
zheleznodorzhnik   îáðàòèòüñÿ ïî èìåíè ×åòâåðã, 15 Ñåíòÿáðÿ 2005 ã. 17:55 (ññûëêà)
Âñå íàøåë, ðåøåíèå. Âûêëàäûâàþ, âäðóã êîìó åùå ïðèãîäèòñÿ
Ñàìîãî ïàðñåðà çäåñü íåò, òîëüêî îáõîä çàùèòû. Ãóãë âûäàåò êîä èäåíòè÷íûé òîìó, êîòîðûé âûâîäèò â áðàóçåð îáû÷íîãî ïîëüçîâàòåëÿ.
Îòâåòèòü Ñ öèòàòîé Â öèòàòíèê
zheleznodorzhnik   îáðàòèòüñÿ ïî èìåíè ×åòâåðã, 15 Ñåíòÿáðÿ 2005 ã. 17:56 (ññûëêà)
$hostname = "www.google.ru";
$path = "/search?hl=ru&q=host&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=lang_ru";
// Çàõîäèì ïåðâûé ðàç
$fp = fsockopen($hostname, "80") or dir("can't connect");
$out = "GET $path HTTP/1.0\r\n";
$out .="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322)\r\n";
$out .= "Host: $hostname\r\n";
$out .= "Connection: Close\r\n";
$out .= "\r\n";
fwrite($fp, $out);
$buffer = fread($fp, 2048);
fclose($fp);

// Íàõîäèì ïåðåäàííûå íàì êóêè
preg_match_all("/Set-Cookie: ([^=]+)=([^;]+);/", $buffer, $matches);

$size = sizeof(@$matches[0]);
$cookie = null;
for($i = 0; $i < $size; $i++)
{
if( !is_null($cookie) )
$cookie .= "&";
$cookie .= $matches[1][$i] . "=" . $matches[2][$i];


}
$cookie .= "expires=Sun";
print $cookie;
$buffer = null;
// Çàõîäèì âòîðîé ðàç... è ïîñûëàåì çàãîëîâîê cookie:
$fp = fsockopen($hostname, "80") or dir("can't connect");
$out = "GET $path HTTP/1.0\r\n";
$out .="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322)\r\n";
$out .= "Host: $hostname\r\n";
$out .= "Connection: Close\r\n";
$out .= "Cookie: $cookie\r\n";
$out .= "\r\n";
if(!isset($fp))
exit;
fwrite($fp, $out);
while ( !feof($fp) )
$buffer .= fread($fp, 2048);
print $buffer;
fclose($fp);
Îòâåòèòü Ñ öèòàòîé Â öèòàòíèê
Êîììåíòèðîâàòü — Ê äíåâíèêó — Ñòðàíèöû: [1] [Íîâûå]
 

Äîáàâèòü êîììåíòàðèé:
Òåêñò êîììåíòàðèÿ: ñìàéëèêè

Ïðîâåðêà îðôîãðàôèè: (íàéòè îøèáêè)

Ïðèêðåïèòü êàðòèíêó:

 Ïåðåâîäèòü URL â ññûëêó
 Ïîäïèñàòüñÿ íà êîììåíòàðèè
 Ïîäïèñàòü êàðòèíêó