Skocz do zawartości

narzedzie do pingowania


Michał90

Rekomendowane odpowiedzi

Jeżeli miała by być wersja serwerowa to:

https://blog.shpyo.net/?newsID=197

i poczytanie o pętlach i komendzie file() :)

akurat ten skrypt pinguje jedynie mapy stron do wyszukiwarek. A autorowi chyba chodzi o pingowanie wpisów celem zaindexowania

Jedziesz na wakacje ? baza noclegowa na pewno ci się przyda

Największy i najładniejszy katalog turystyczny w Polsce

Odnośnik do komentarza
Udostępnij na innych stronach

Znalazłem coś takiego i u siebie wykorzystuje w skrypcie. Tylko strasznie mieli a w pliku txt mam tylko kilka adresów:

https://www.weblogs.com/api.html

https://blogsearch.google.com/ping/RPC2

https://api.my.yahoo.com/RPC2

https://topicexchange.com/RPC2

https://rpc.weblogs.com/RPC2

https://rpc.technorati.jp/rpc/ping

a to skrypt a jeśli ktoś ma coś innego to sam chętnie skorzystam:

//Funkcja pinguje wskazany adres

function ping($blogTitle, $blogUrl) {

// Please, edit these variables to your needs

//$blogTitle="tytuł!";

//$blogUrl="https://www.adres.pl/all.html";

$pingListFile="pinglist.txt";

$showDebugInfo=FALSE; // Do you want verbose output?

// Stop editing here

// PingRPC.php

//

// 2007 by Sascha Tayefeh

// https://www.tayefeh.de

//

// This is a PHP5-based XML-RPC ping script. It reads a one-column

// fully qualified URL-list from a file ($pingListFile). Here is

// an example how this file must look like:

// ----------------------

// https://rpc.icerocket.com:10080/

// https://rpc.pingomatic.com/

// https://rpc.technorati.com/rpc/ping

// https://rpc.weblogs.com/RPC2

// ----------------------

$replacementCount=0;

$userAgent="pingrpc.php by tayefeh";

// Read pinglist file. Must contain one fully qualified URL

// (e.g: https://rpc.technorati.com/rpc/ping) PER LINE (->

// delimiter is an ASCII-linebreak)

$fp=fopen($pingListFile,"r");

while ( ! feof( $fp) )

{

$line = trim(fgets( $fp, 4096));

// get the hostname

$host=$line; // Make a copy of $line

$host=preg_replace('/^.*https:\/\//','',$host); // Delete anything before https://

$host=preg_replace('/\/.*$/','',$host); // Delete anything after behind the hostname

// get the path

$path=$line; // Make another copy of $line

$path=preg_replace('/^.*https:\/\/[a-zA-Z0-9\-_\.]*\.[a-zA-Z]{1,3}\//','',$path,-1,$replacementCount); // Delete anything before the path

if(!$replacementCount) $path=''; // if there was no replacement (i.e. no explicit path), act appropiately

if($host) $myList[$host]=$path;

}

echo "<h1>Ping process started</h1>";

echo "<p>Reading URLs from file $pingListFile: ";

echo count($myList)." urls read.</p>";

// Use DOM to create the XML-File

$xml= new DOMDocument('1.0');

$xml->formatOutput=true;

$xml->preserveWhiteSpace=false;

$xml->substituteEntities=false;

// Create the xml structure

$methodCall=$xml->appendChild($xml->createElement('methodCall'));

$methodName=$methodCall->appendChild($xml->createElement('methodName'));

$params=$methodCall->appendChild($xml->createElement('params'));

$param[1]=$params->appendChild($xml->createElement('param'));

$value[1]=$param[1]->appendChild($xml->createElement('value'));

$param[2]=$params->appendChild($xml->createElement('param'));

$value[2]=$param[2]->appendChild($xml->createElement('value'));

// Set the node values

$methodName->nodeValue="weblogUpdates.ping";

$value[1]->nodeValue=$blogTitle;

$value[2]->nodeValue=$blogUrl;

$xmlrpcReq = $xml->saveXML(); // Write the document into a string

$xmlrpcLength = strlen( $xmlrpcReq ); // Get the string length.

echo "Here's the xml-message I generated (size: $xmlrpcLength bytes):";

echo "\n<pre>\n";

echo htmlentities($xmlrpcReq);

echo "</pre>";

echo "<dl>";

// Proceed every link read from file

foreach ( $myList as $host => $path)

{

if($showDebugInfo) echo "<hr/>";

echo "<dt><strong>Pinging host: $host </strong>";

$httpReq = "POST /" . $path . " HTTP/1.0\r\n";

$httpReq .= "User-Agent: " . $userAgent. "\r\n";

$httpReq .= "Host: " . $host . "\r\n";

$httpReq .= "Content-Type: text/xml\r\n";

$httpReq .= "Content-length: $xmlrpcLength\r\n\r\n";

$httpReq .= "$xmlrpcReq\r\n";

echo "</dt>";

if($showDebugInfo)

{

echo "<dd><strong>Request:</strong><pre><span style=\"color: #cc9900\">".htmlentities($httpReq)."</span></pre>";

echo "<strong>Answer</strong>:<span style=\"color: #99cc00\"><pre>";

}

// Actually, send ping

if ( $pinghandle = @fsockopen( $host, 80 ) )

{

@fputs( $pinghandle, $httpReq );

while ( ! feof( $pinghandle ) )

{

$pingresponse = @fgets( $pinghandle, 128 );

if($showDebugInfo) echo htmlentities($pingresponse);

}

@fclose( $pinghandle );

}

if($showDebugInfo) echo "</span></pre></dd>";

}

echo "</dl>";

echo "<p>FINISHED</p>";

}

Programista aplikacji webowych i pozycjoner w Edukey - Szkolenia komputerowe | programowanie w VBA

Polecam dobry i tani hosting w firmie masternet

logo-edukey-twojaeuropa.png

Odnośnik do komentarza
Udostępnij na innych stronach

Gribo, a czym różni się pingowanie sitemap od pingowania podstron ;)? PING jest wysyłany na tej samej zasadzie więc classa spokojnie powinna się nadać pod pingowanie podstron.

Zresztą wystarczy zerknąć w kod classy ;)

Michał Kryński
Zapraszam na moje forum akwarystyczne  ;-) 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Gribo, a czym różni się pingowanie sitemap od pingowania podstron ;)? PING jest wysyłany na tej samej zasadzie więc classa spokojnie powinna się nadać pod pingowanie podstron.

Nie wiesz? ;) A np. jakbym chciał pingować urle do moich wpisów do katalogów czy precli, to chyba pingowanie mapy strony to tak średnio, prawda? ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Gribo, a czym różni się pingowanie sitemap od pingowania podstron :)? PING jest wysyłany na tej samej zasadzie więc classa spokojnie powinna się nadać pod pingowanie podstron.

Zresztą wystarczy zerknąć w kod classy !!!

Ok ale weź pod uwagę że autor tematu chyba nie zna na tyle php by samemu coś przerabiać w PHP, zakładam że jak by znał to by sam napisał prosty skrypt. Pozatym klasa do pingowania podstron do serwerów RPC różni się diametralnie od klasy która zgłasza mapę strony do wyszukiwarek.

Jedziesz na wakacje ? baza noclegowa na pewno ci się przyda

Największy i najładniejszy katalog turystyczny w Polsce

Odnośnik do komentarza
Udostępnij na innych stronach

zajacgd, pytam o różnice techniczne :P

Gribo ci odpowiedział. A ponadto temat nie dotyczy wykonania, konstrukcji skryptu, ale możliwości w pingowaniu. O! :) A tak w ogóle wystarczy przejrzeć ten dział, by znaleźć dwa darmowe desktopowe programy do pingowania, jeden prawie darmowy oraz jeden webowy płatny. Łatwo znaleźć coś dla siebie. I zawsze można też skorzystać z darmowego i bez rejestracji pingomatic.com.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności