Zugriff auf PHP per C++-Programm schlägt fehl

maexle1894

Mitglied
Halli hallo,
ich weiß nicht recht, ob ich hier richtig bin für mein Problem, ich leg einfach mal los :

Ich habe heute in einem C++-Programm einen Socket zu meinem Windows-Root-Server hergestellt, auf dem der Apache 2.x Server läuft. Der Socket verbindet, senden geht anscheinend auch nur empfangen nicht.

Sobald ich den Socket-Port von 80 (HTTP) auf 443 (HTTPS) lege, empfange ich eine Bad-Request Meldung (logo, da nix per HTTPS angelegt ist), auf dem Port 80 kriege ich jedoch absolut garnichts, volle tote Hose.

Meine Frage : Wo sollte ich anfangen, nach dem Fehler zu suchen? Habe bereits einen zweiten Apache spaßeshalber auf den Port 8080 gelegt, auch Fehlanzeige. Auf einen gemappten 4343er HTTPS geht es jedoch wieder. Firewalls waren zum testen ebenfalls aus. Hat irgendjemand einen Denkanstoß für mich?
 
Das ist eigentlich im Programmier Forum besser aufgehoben.
Schickst du denn auch etwas an der Port? Wenn Port 443 zu ist kommt natürlich ein Absage zurück vom Socket, aber da Port 80 ja offen ist und der Apache auf dein Request wartet musst du ihm ja sagen was du willste, also im Normalfall
GET / HTTP/1.1
Dann sollte auch was zurück kommen.
Beachte dazu auch RFC 2161: http://www.ietf.org/rfc/rfc2616.txt
und RFC 1945: http://www.ietf.org/rfc/rfc1945.txt
 
Hi,
wie auch im anderen Post (nochmals Entschuldigung dafür, ich war jung und verzweifelt), hier die Lösung meines Problems :

Ein gescheiter Socket-Request, auf den auch der Windoof-Apache antwortet, könnte wie folgt lauten :
PHP:
strcpy(http_buffer,"GET /index.html HTTP/1.1\nAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-gsarcade-launch, */*\nAccept-Language: de\nAccept-Encoding: gzip, deflate\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\nHost: bilderserver.com\nConnection: Keep-Alive\n\n");

tcpclient->SendBuf(http_buffer,strlen(http_buffer),0);
Wert gelegt hat Windows nur auf das Connection : Keep-Alive, den Host und die zwei abschließenden \n's.

Danke auch für die Links auf die RFC`s.
 
Zurück