HTTP GET anfrage
-
Hallo,
ich schreibe mir gerade ein Programm welches einfach den Quellecode einer Seite downloadet, dafür verwende ich winsock.
ich sende einfach ein packet an den server mit der anfrage.
bei vielen geht es doch einige apache server machen mir probleme. Was muss die Anfrage an einen Apache server alles beihnalten?mfg
-
Dieser Thread wurde von Moderator/in cd9000 aus dem Forum WinAPI in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ein minimales HTTP-1.1-Request muss afair folgendes haben (keine Garantie, aber ansich bin ich damit immer durchgekommen):
Beispiel für http://www.triphoenix.de/index.html
GET /index.html HTTP/1.1 Host: www.triphoenix.de
dazu kommt ein
Connection: Close
Wenn du die Verbindung danach nicht offenhalten willst.
-
das problem ist, bei einigen servern klappt das nicht.
mfg
-
Dann nenn doch einfach mal ein Beispiel
-
oder http 1.0
-
Unix-Tom schrieb:
oder http 1.0
Dann wiederum muss man im GET aber oft die gesamte URL mit Hostname angeben, sollte man nicht vergessen (oder wiederum einen Host-Parameter, womit man dann auch 1.1 nehmen kann)
-
Schau dir das mal an
http://www.c-plusplus.net/forum/viewtopic-var-p-is-810724.html
Vielleicht hilft es dir ja.mfg.
-
ich habs genau so wie ich es im packet sniffer gesehen habe und im browser gehts nur in meinem programm nicht.
-
Dann nenn doch mal einen Beispielserver bei dem es nicht geht und was EXAKT dein Programm als Request rausschmeißt
-
könnte es daran liegen, dass ich die seite so aufrufe?
GET www.beispiel.de/b.php&test=hallo HTTP/1.1\nHost: www.beispiel.de\r\n\n
?
-
LOL
-
du bist eh ein idiot du weisst eh gar nicht was diese zeile macht also schnauze du depp
-
:p
-
zu www.beispiel.de verbinden und:
"GET /b.php&test=hallo HTTP/1.1\r\nHost: www.beispiel.de\r\nConnection: close\r\n\r\n"
senden
-
GET www.beispiel.de/b.php&test=hallo HTTP/1.1\nHost: www.beispiel.de\r\n\n
Der Server hat in der Anfrage nichts verloren.
GET /b.php&test=hallo HTTP/1.1\nHost: www.beispiel.de\r\n\n
-
aber immer mit \r\n statt \n, nicht nur am Ende.
-
ein /r/n hat im ganzen nicht verloren. Zwischen den einzelnen Parametern kommt "EIN" newline \n.
bevor der Content (POSTDaten) gesendet wird bzw. das Ende der Senddaten erreicht ist kommt 2 Mal newline \n\n.
-
Unix-Tom schrieb:
ein /r/n hat im ganzen nicht verloren. Zwischen den einzelnen Parametern kommt "EIN" newline \n.
Nein, es kommt ein Carriage Return (\r) gefolgt von einem Newline (\n). Siehe RFC.
-
Hast recht. Geht aber ohne auch.
Dachte immer das \r eine Microsoftunart ist.