LoadFromUrl() mit Sockets nachbilden [Erledigt]

Vom Front-End bis SOAP.

Moderator: Moderatoren

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: LoadFromUrl() mit Sockets nachbilden

Beitrag von Jan »

Hubert,

mein Problem ist, das ich mit Alaskas LoadFromUrl() nicht alles das machen kann, was ich für die Zugriffe auf die Onlinedatenbank brauche. Ich möchte das deswegen über einen anderen Weg machen, aber dafür keine Fremdbibliotheken benutzen - warum auch, wenn Alaska alles notwendige mitliefert? Ich seh da als Alternative nur die Sockets. Wenn Alaska was anderes anbietet, was ich noch nicht gesehen habe, wäre auch das OK.

Damit ich überhaupt in die Socket-Geschichte reinkomme habe ich versucht, einen Zugriff, der schon mit LoadFromUrl() funktioniert, auf Sockets umzuschreiben. Einfach nur um sicher zu gehen, das eventuelle Fehler nicht an den übergebenen Parametern ansich liegen. Wenn das erstmal klappt, dann will ich daran gehen, die mit LoadFromUrl() nicht möglichen Übergaben mit Sockets umzusetzen. Alas Einstieg habe ich von Alaska ein wenig Code bekommen, der sozusagen das Gerüst ist. Ich habe auch schon mit Sockets gearbeitet, aber das ist Netzwerk-Intern, und die Kommunikation lief dann nicht HTTP-Strings.

Und ja, ich bin mit dem bisherigen Ergebnis höchst unzufrieden. Egal was ich mache, ich bekomme Fehlermeldungen zurück. Die Tools, die ich benutze um den Datenstrom auszulesen, damit ich darin eventuell Fehler finden kann, funktionieren nicht (Fiddler), oder sind für mich unverständlich (Whireshark). Ich hoffe Du kannst nachvollziehen, das der Frustlevel bei mir inzwischen schon ziemlich hoch ist.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: LoadFromUrl() mit Sockets nachbilden

Beitrag von Werner_Bayern »

Servus Jan,

wenn Du magst, schick mir mal die Zugangsdaten und wie das jetzt mit loadfromurl() funktioniert, dann teste ich das mal mit dem curl-Aufruf für Dich.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: LoadFromUrl() mit Sockets nachbilden

Beitrag von Jan »

So, das Problem ist gelöst. Mein allerherzlichster Dank geht an Hubert und Werner, die ihre Freizeit darein investiert haben, das auszuknobeln. Jungs, Ihr habt was gut bei mir!

Das Problem ist zuallererst: Diese Zeile ist der Hauptverursacher der Fehler:

Code: Alles auswählen

   lSuccess := SocketConnect(MEMVAR->gnFamilySearchSocket, , "www.familysearch.org", nPort, @nError)
Das "www" muß zumindst im Testmodus durch "sandbox" ersetzt werden. Was da im produktiven Modus reingehört habe ich noch nicht herausgefunden. Da muß man erstmal hinterkommen, ich habe halt immer im Request-Header gesucht. Wobei da wohl auch Probleme drin lagen, das es offensichtlich zumindest in Teilbereichen des Request-Headers auch auf die korrekte Reihenfolge ankommt.

Interessant ist - obwohl das jetzt ja funktioniert, weigert sich Fiddler weiterhin, die über Sockets gesendeten Requests aufzuzeichnen. Alle über LoadFromUrl() gesendeten Requests dagegen werden ganz sauber protokolliert. Merkwürdig ...

Vielen Dank an alle, die hier Geduld mit mir hatten.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten