Redesign "Das Örtliche" -> invers.sh

sweetie-pie

Neuer User
Mitglied seit
5 Feb 2005
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
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
 

sweetie-pie

Neuer User
Mitglied seit
5 Feb 2005
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
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....
 
B

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:
 

sweetie-pie

Neuer User
Mitglied seit
5 Feb 2005
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
beckmann schrieb:
Egal welche Nummer ich in 02064 (Dinslaken) eingebe ich sehe immer den Eintrag von H.K. (Name von mir gekürzt). :gruebel:
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...).
 
B

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:
 

sweetie-pie

Neuer User
Mitglied seit
5 Feb 2005
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
beckmann schrieb:
... die Rufnummer mit einem eigenen Script (es geht die letzten 5 Anrufe der Wahliste durch) anzeigen lasse...
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...
 
B

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' || i > 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.
 

sweetie-pie

Neuer User
Mitglied seit
5 Feb 2005
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
beckmann schrieb:
Das ist mit Linux Sockets unter C++ geschrieben..
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...
 

jojo-schmitz

Aktives Mitglied
Mitglied seit
6 Mai 2006
Beiträge
2,473
Punkte für Reaktionen
3
Punkte
38
sweetie-pie schrieb:
Könnte mir evtl. mal jemand die Funktionsweise erklären?
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
sweetie-pie schrieb:
Ich meinte schon irgendwann hierzu einen Thread gesehen zu haben, finde ihn aber nicht mehr...
Ich auch, beides, gesehen und nicht wiedergefunden.
Noch schlimmer: soger selber geschreiben!

[EDIT] gefunden, hier

Tschö, Jojo
 
Zuletzt bearbeitet:

sweetie-pie

Neuer User
Mitglied seit
5 Feb 2005
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
jojo-schmitz schrieb:
Code:
[EDIT] gefunden, [URL="http://www.ip-phone-forum.de/showpost.php?p=694125&postcount=251"]hier[/URL][/QUOTE]

Juhu, läuft wieder... DANKE! ;)
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,874
Beiträge
2,027,607
Mitglieder
350,997
Neuestes Mitglied
Jubudu