.titleBar { margin-bottom: 5px!important; }

Redesign "Das Örtliche" -> invers.sh

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von sweetie-pie, 26 Sep. 2006.

  1. sweetie-pie

    sweetie-pie Neuer User

    Registriert seit:
    5 Feb. 2005
    Beiträge:
    118
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Niedersachsen
    Hallo,

    habe ich etwas verpasst oder geht die Rückwärtssuche nicht mehr?
    Irgendwie sieht das Webinterface von "Das Örtliche" anders aus...

    Damit dürfte der Befehl:
    Code:
    wget -q -O /var/tmp/name "http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm?kw_invers=${number}&main=Antwort&s=2" 2>/dev/null
    nicht mehr funktionieren: HTTP Status 404 - /DB4Web/es/oetb2suche/home.htm :mad:

    Hatten wir das hier schon mal? Habe nichts gefunden... :noidea:

    Holly
     
  2. sweetie-pie

    sweetie-pie Neuer User

    Registriert seit:
    5 Feb. 2005
    Beiträge:
    118
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Niedersachsen
    also mit
    Code:
    wget -q -O /var/tmp/name "http://www4.dasoertliche.de/Controller?form_name=search_inv&ph=${number}" 2>/dev/null
    landet zumindest die Datei wieder auf der Box.

    Könnte sich evtl. mal jemand dem Skript annehmen der davon Ahnung hat?
    Ich gebe hier jetzt erstmal auf....
     
  3. beckmann

    beckmann Guest

    Danke für den Tipp. Jetzt müßte man noch gucken wie der Name dagestellt wird, da das ja irgendwie rausgesucht habe.

    Edit: Das läuft aber auch nicht rund! Ich habe mal testweise die Nummer der Stadt eingegeben und erhalte 2 Inhaber weil er 206 als eigene Nummer sucht :gruebel: Egal welche Nummer ich in 02064 (Dinslaken) eingebe ich sehe immer den Eintrag von H.K. (Name von mir gekürzt). :gruebel:
     
  4. sweetie-pie

    sweetie-pie Neuer User

    Registriert seit:
    5 Feb. 2005
    Beiträge:
    118
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Niedersachsen
    Das scheint wohl ein Problem der DB vom Örtlichen zu sein, denn Herr K.H. hat keinen vollständigen Eintrag, es fehlt defacto die Vorwahl.:confused:

    Nimmst Du das normale WebIF und führst die Suche aus, wirst Du bei x-beliebigen Nummern, die mit 0206 beginnen immer diesen Herrn K.H. finden (soweit ich das gerade testen konnte...).
     
  5. beckmann

    beckmann Guest

    Ja. Herr H.K. hat wirklich nur 206 als Nummer ohne Vorwahl :gruebel: darunter steht eine Faxnummer mit Vorwahl. Auserdem ist die Postleitzahl nicht vollständig, es fehlt eine Ziffer.

    Das ganze ist wirklich nervig, denn wenn micht jetzt jemand anruft aus de eigenen Ortsnetz und ich die Rufnummer mit einem eigenen Script (es geht die letzten 5 Anrufe der Wahliste durch) anzeigen lasse, kommt immer H.K. raus :blonk:
     
  6. sweetie-pie

    sweetie-pie Neuer User

    Registriert seit:
    5 Feb. 2005
    Beiträge:
    118
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Niedersachsen
    Könntest Du das evtl. mal posten? Ich habe bekomme nämlich so gut wie niemals anrufe aus einem 0206x - Netz. :D

    Zu dem falschen Eintrag solltest Du als "unmittelbar Betroffener" vielleicht dem Ö mal eine Email senden, könnte mir vorstellen, dass die dann was machen... ist ja kein Nest bei euch...
     
  7. beckmann

    beckmann Guest

    Hast du Linux als Betriebsystem? Das ist mit Linux Sockets unter C++ geschrieben, also nicht besonderes und auch sehr unübersichtlich für Fremde :D

    Das ist ein einfaches C++ Konsolenprogramm womit ich von Unterwegs gucken kann wer so angerufen hat in meiner Abwesenheit. Per SSH geht es auf den Rechner und dann wird das Programm ausgeführt.

    Ich müßte das noch auf die neue Version des Örtlichen anpassen und auch an der neue FirtzBox Menü, habe immer noch die *.04.01 Firmware drauf weil ich nicht viel zeit hatte.

    Suchfunktion:
    PHP:
    int inhaber(char *nummer)
    {
    const 
    char *ergebnis;
    const 
    char *test;
    char name[150];
    char teststring[1000];
    string anfrage;
    int i;
    anfrage.erase();
    anfrage.append("/DB4Web/es/oetb2suche/home.htm?kw_invers=",41);
    anfrage.append(nummer,strlen(nummer));
    anfrage.append("&main=Antwort&AKTION=START_INVERS_SUCHE&SEITE=INVERSSUCHE_V&s=2&rg=1",69);
    netzwerk pruefe("www.dasoertliche.de");
    strcpy(teststring,anfrage.c_str());
    ergebnis pruefe.setpfad(teststring);

    if(
    strstr(ergebnis,"Kein Teilnehmer gefunden")!=0)
        {
        return 
    0;
        }
    test=strstr(ergebnis,"blb");
    if (
    test==0)
        
    test=strstr(ergebnis,"bigblunder");
    if (
    test==0)
        return -
    1;
    while(
    1)
        {
        if(*
    test=='>')
            {
            
    test++;
            break;
            }
        
    test++;
        }
    test++;
    for(
    i=0;i<150;i++)
        {
        if(*
    test=='<')
            break;
        
    name[i]=*test;
        
    test++;
        }
    name[i]=0;
    printf("%s\n",name);
    return 
    1;
    }
    und die "Last Five":
    PHP:
    void fbflastfive()
    {
    const 
    char *ergebis;
    const 
    char *aktuell;
    char rufnummer[100];
    int i;
    int j;

    netzwerk anfrage("fritz.box");
    ergebis=anfrage.setpfad("/cgi-bin/webcm?getpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&errorpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&var%3Alang=de&var%3Apagename=foncalls&var%3Aerrorpagename=foncalls&var%3Amenu=fon");
    for(
    j=0;j<15;j++)
    {
    if(
    j==0)
        {
        
    aktuell=strstr(ergebis,"uiCallSymbol(\"1\")");
        if(!
    aktuell)
        break;
        }
    else
        {
        
    aktuell=strstr(aktuell,"uiCallSymbol(\"1\")");
        if(!
    aktuell)
        break;
        }
    aktuell=strstr(aktuell,"uiRufnummerDisplay");
    if(!
    aktuell)
        break;
    aktuell=strstr(aktuell,"\"");
    if(!
    aktuell)
        break;
    aktuell++;
    i=0;
    if(*
    aktuell=='"')
        {
        
    printf("unbekannt\n");
        continue;
        }
    while(
    1)
    {
    if(*
    aktuell<'0' || *aktuell>'9' || 98)
        {
        break;
        }    
    rufnummer[i]=*aktuell;
    aktuell++;
    i++;
    }
    rufnummer[i]=0;
    if(!
    inhaber(rufnummer))
        
    printf("%s\n",rufnummer);
    }
    }
    Dazu habe ich mir noch eine Klasse geschrieben, die die Netzwerkfunktionen übernimmt, aber die ist noch nicht stabil, die Füge ich später mal ein.
     
  8. sweetie-pie

    sweetie-pie Neuer User

    Registriert seit:
    5 Feb. 2005
    Beiträge:
    118
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Niedersachsen
    Schade ich suchte eigentlich eine Lösung für das invers.sh Skript um mir die Anrufer durch die Fritzbox auf die dbox senden zu lassen:
    Code:
    do
      case ${reverse} in
        *Detailansicht*)
          name=${reverse#*\>\ }
          name=${name%%\<*}
          break
        ;;
      esac
    done < /var/tmp/name
    Könnte mir evtl. mal jemand die Funktionsweise erklären?

    Ich meinte schon irgendwann hierzu einen Thread gesehen zu haben, finde ihn aber nicht mehr...
     
  9. jojo-schmitz

    jojo-schmitz Aktives Mitglied

    Registriert seit:
    6 Mai 2006
    Beiträge:
    2,472
    Zustimmungen:
    3
    Punkte für Erfolge:
    38
    Beruf:
    Informatiker
    Ort:
    Düsseldorf
    #9 jojo-schmitz, 29 Sep. 2006
    Zuletzt bearbeitet: 29 Sep. 2006
    Code:
      do
      case ${reverse} in                      # suche Zeilenweise
        *Detailansicht*)                       # nach Zeilen die das Wort Detailansicht enthalten
          name=${reverse#*\>\ }          # suche im Ergbnis nach dem letzten "> "
          name=${name%%\<*}            # und ab da nach dem ersten <
          break
        ;;
      esac
    done < /var/tmp/name
    Ich auch, beides, gesehen und nicht wiedergefunden.
    Noch schlimmer: soger selber geschreiben!

    [EDIT] gefunden, hier

    Tschö, Jojo
     
  10. sweetie-pie

    sweetie-pie Neuer User

    Registriert seit:
    5 Feb. 2005
    Beiträge:
    118
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Niedersachsen