Bing - Sitemap Ping

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Quetschi
    antwortet
    Zitat von Jarez Beitrag anzeigen
    Bing Sitemaps Ping: fehlgeschlafen - Status code: 400.
    Gute Nacht!
    Zitat von Jarez Beitrag anzeigen
    Manchmal steht man echt auf dem Schlauch. Ich sollte ne Pause machen.
    Siehe oben!


    Mach noch beim GET ein / vor webmaster.

    Einen Kommentar schreiben:


  • Gunah
    antwortet
    schau noch mal auf GET ;-)

    Einen Kommentar schreiben:


  • Jarez
    antwortet
    Mist ... stimmt ... da soll ja nur der Host rein. *andenkopffass*

    Habe den Code jetzt mal so geändert:

    PHP-Code:
        function pingBingSitemaps$url_xml )
        {
           
    $status 0;

           
    $fp = @fsockopen("www.bing.com"80);
        

           if (!
    $fp
           { 
            echo 
    "$errstr ($errno)<br />\n"
           } 
           else
           {
              
    $req =  'GET /webmaster/ping.aspx?siteMap=' .
                      
    urlencode$url_xml ) . " HTTP/1.1\r\n" .
                      
    "Host: $bing\r\n" .
                      
    "User-Agent: Mozilla/5.0 (compatible; " .
                      
    PHP_OS ") PHP/" PHP_VERSION "\r\n" .
                      
    "Connection: Close\r\n\r\n";
              
    fwrite$fp$req );
              while( !
    feof($fp) )
              {
                 if( @
    preg_match('~^HTTP/\d\.\d (\d+)~i'fgets($fp128), $m) )
                 {
                    
    $status intval$m[1] );
                    break;
                 }
              }
              
    fclose$fp );
           }
           return( 
    $status );
        }

            if( 
    200 === ($status=pingBingSitemaps($url_xml)) )
            {
               
    $status_ping_bing "<b>Bing Sitemaps Ping:</b> erfolgreich - Status code: $status.<br>\n";
            }
            else
            {
               
    $status_ping_bing "<b>Bing Sitemaps Ping:</b> fehlgeschlafen - Status code: $status.<br>\n";
            } 
    Eine Fehlermeldung bekomme ich jetzt immer noch:

    Bing Sitemaps Ping: fehlgeschlafen - Status code: 400.

    Aber das eigentliche Grundübel ist ja schon mal weg.

    Manchmal steht man echt auf dem Schlauch. Ich sollte ne Pause machen.
    Zuletzt geändert von Jarez; 28.10.2009, 15:55. Grund: GET Zeile geändert ...

    Einen Kommentar schreiben:


  • Gunah
    antwortet
    da gehört webmaster auch nicht hin ;-)

    Einen Kommentar schreiben:


  • Quetschi
    antwortet
    Zitat von Jarez Beitrag anzeigen
    Da war ich wohl etwas zu sparsam.
    Nicht unbedingt - laut Manual ist nur der erste Parameter erforderlich - aber guck dir den nochmal genau an!!

    Und ein bisschen Basic-Verständnis vom http-Protokoll wäre auch ned verkehrt

    Einen Kommentar schreiben:


  • Jarez
    antwortet
    wenn ich [FONT=monospace]als URL für bing nur das nehme
    [/FONT]
    PHP-Code:
    $bing 'www.bing.com/webmaster'
    dann ist die Fehlermeldung weg und ich bekomme nur:

    (0)

    als Ausgabe.
    [COLOR=#000000][COLOR=#CC0000][/COLOR][/COLOR]

    Einen Kommentar schreiben:


  • Gunah
    antwortet
    meiner Meinung nach eignet sich CURL für sowas besser...

    EDIT: zu deinem Problem, da steht eigtl schon beantwortet im 2ten Post!

    Einen Kommentar schreiben:


  • Jarez
    antwortet
    Danke für deinen Tipp.

    Da war ich wohl etwas zu sparsam.

    Den Code der Funktion habe ich jetzt mal ein wenig geändert. Dieser sieht jetzt so aus:

    PHP-Code:
        function pingBingSitemaps$url_xml )
        {
           
    $status 0;
           
    $bing 'http://www.bing.com/webmaster';


           
    $fp = @fsockopen($bing80$errno$errstr30);
        

           if (!
    $fp
           { 
            echo 
    "$errstr ($errno)<br />\n"
           } 
           else
           {
              
    $req =  'GET /ping.aspx?siteMap=' .
                      
    urlencode$url_xml ) . " HTTP/1.1\r\n" .
                      
    "Host: $bing\r\n" .
                      
    "User-Agent: Mozilla/5.0 (compatible; " .
                      
    PHP_OS ") PHP/" PHP_VERSION "\r\n" .
                      
    "Connection: Close\r\n\r\n";
              
    fwrite$fp$req );
              while( !
    feof($fp) )
              {
                 if( @
    preg_match('~^HTTP/\d\.\d (\d+)~i'fgets($fp128), $m) )
                 {
                    
    $status intval$m[1] );
                    break;
                 }
              }
              
    fclose$fp );
           }
           return( 
    $status );
        } 
    Beim Ausführen bekomme ich nun diese Fehlermeldung:

    Unable to find the socket transport "http" - did you forget to enable it when you configured PHP? (1091372144)

    Was heisst das?

    Einen Kommentar schreiben:


  • Quetschi
    antwortet
    Vom groben überfliegen her:

    Guck dir unter PHP: fsockopen - Manual nochmal an, was hier an Parametern erwartet wird und guck dir dann das nochmal bei deinem Script an

    EDIT:
    Um es dir leichter zu machen - guck dir speziell den ersten Parameter an.
    Zuletzt geändert von Quetschi; 28.10.2009, 15:27.

    Einen Kommentar schreiben:


  • Jarez
    hat ein Thema erstellt Bing - Sitemap Ping.

    Bing - Sitemap Ping

    Hallo zusammen,

    ich tüftel sei heute Mittag an einem Problem herum und komme nicht weiter. Hoffe ihr könnt helfen.

    Ich möchte Bing automatisch über Aktualisierungen meiner Seite informieren und möchte dazu XML Sitemaps nutzen. Das Erstellen der Sitemap ging einfach. Manuell kann ich diese ja ganz einfach an Bing übermitteln, in dem ich das im Browser aufrufe:

    PHP-Code:
    http://www.bing.com/webmaster/ping.aspx?siteMap=http://www.domain.com/sitemap.xml 
    Das soll aber automatisch passieren, sobald ich die Sitemap geschrieben habe ... so wie bei Wordpress ... und ich möchte eine Fehler- bzw. Erfolgsmeldung zurück haben.

    Mein Lösungsansatz:

    PHP-Code:
        function pingBingSitemaps$url_xml )
        {
           
    $status 0;
           
    $bing 'http://www.bing.com/webmaster';
           if( 
    $fp=@fsockopen($bing80) )
           {
              
    $req =  'GET /ping.aspx?siteMap=' .
                      
    urlencode$url_xml ) . " HTTP/1.1\r\n" .
                      
    "Host: $bing\r\n" .
                      
    "User-Agent: Mozilla/5.0 (compatible; " .
                      
    PHP_OS ") PHP/" PHP_VERSION "\r\n" .
                      
    "Connection: Close\r\n\r\n";
              
    fwrite$fp$req );
              while( !
    feof($fp) )
              {
                 if( @
    preg_match('~^HTTP/\d\.\d (\d+)~i'fgets($fp128), $m) )
                 {
                    
    $status intval$m[1] );
                    break;
                 }
              }
              
    fclose$fp );
           }
           return( 
    $status );
        }




            if( 
    200 === ($status=pingBingSitemaps($url_xml)) )
            {
               
    $status_ping_bing "<b>Bing Sitemap Ping:</b> erfolgreich - Status code: $status.<br>\n";
            }
            else
            {
               
    $status_ping_bing "<b>Bing Sitemap Ping:</b> fehlgeschlafen - Status code: $status.<br>\n";
            } 
    wobei $url_xml die URL zu meiner Seitemap ist.

    Code 200 ist ja der, den man bei Erfolg erhält?! Richtig?!

    Leider funktioniert das so nicht und ich weiss nicht warum?! Ich bekomme immer die Meldung, dass das Pingen fehlgeschlagen ist mit dem Rückgabewert 0.

    Wenn ich das so mit den Ping Daten von Google nutze, um die Sitemap an Google zu senden ... dann klappt es ohne Fehlermeldung.

    Habt ihr eine Idee?

    Gruß

    Michael
Lädt...
X