Autor Beitrag
Fireblade
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 03.11.04 15:57 
Hallo!

Ich haber seit längerer Zeit kein Delphi programmiert und habe nun ein Problem mit dem ich allein nicht fertig werde und auch die anderen Forenbeiträge helfen mir nicht so
recht weiter im Moment, also melde ich mich mal selbst zu Wort und versuche mein
Problem genau zu beschreiben:

Ich benötige für eine Webschnittstelle mehr oder weniger lediglich einen
Aufruf eines Files auf einem Webserver (dort läuft ein php Script).

Problem: Ich möchte den Aufruf nicht über getHTTP oder so per Indy (das habe ich nun schon öfter hier gelesen) realisieren, da ich eine umfassende ältere Software warte, die über BorlandDelphi5 mit dem Standard ClientSocket geschrieben wurde. Also kurz: Ich arbeite mit dem Standard ClientSockel.

Soweit zu meinem Rahmen, jetzt zum Problem selbst:
ich öffne den Port 80 der Webserver meldet sich und ich fang an mit
".SendText usw.." folgendes zu senden:

GET /unterverzeichnis/script.php?parameter=irgendwas HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
Accept-Language: de
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: 127.0.0.1
Connection: Keep-Alive
(und hier natürlich die Leerzeile )

Wie Ihr seht hab ich den ganzen Wust von meinem Browser geklaut (Hab den mal
auf einen ServerSocket Connecten lassen und abgehorcht wie der das macht...)

ich habe auch darauf geachtet die Linefeeds richtig zu setzen (hoffe ich!)
es sind alles chr(13) + chr(10) line endings.

Wenn ich jetzt mit einem anderen Programm auf Port 80 horche und erst mit meinem Browser connecte und dann mit meinem Programm (was diese Anfrage ja nachsimulieren sollte) sehe ich keinen Unterschied... Lokal auf meinem System funktioniert auch alles - mein eigener Apache scheint den unterschied nicht zu bemerken ob mein IE oder mein Programm ne Seite abruft.
Aber im Internet funktioniert es irgendwie nicht... kann mir jemand sagen was ich falsch mache? ist bestimmt nur ne Kleinigkeit...

Mein Webspace ist bei 1und1 und der Webserver dort merkt irgendwie dass was
nicht stimmt und meldet ne bad request seite zurück...

Was habe ich übersehen?
Vielen Dank für eure Hilfe im voraus!

-Andy
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 03.11.04 19:43 
Das ist ein bekanntes Problem der Socket-Komponenten. Such im Forum mal nach Suche in: Delphi-Forum, Delphi-Library CHAT INTERNET CLIENTSOCKET Da solltest du fündig werden. Weiß aber leider jetzt nicht ausm Kopf, was dort direkt geändert werden muss.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Fireblade Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Sa 06.11.04 03:10 
oh mann!
Hätte ich auch so drauf kommen müssen. Ich hab mich so auf Fehler an der Connection verbissen dass ich das vollkommen ausser Acht gelassen habe.

Beim HOST wird der ZIEL Host angegeben :):):)

@ alle die das hier mal lesen sollten: Bei Host kann man sowohl die Adresse
als auch die IP des Zielhosts angeben - wobei die Adresse bei MultiHost-Umgebungen (Viele Rechner - Viele Namen - eine IP) auch wirklich zum Ziel führt und deshalb bevorzugt werden sollte.

@ alle Webdeamon Programmierer: Nehmt doch mal solche einfachen Fehler in die Liste der Zahlenerrors mit auf und schickt nicht nen allgemeinen BadRequest Error raus... das hilft doch keinem