Socket & HTTP Seite laden bei Hostheader



  • Ich möchte gerne den Inhalt einer Seite herunterladen. Das funktionert soweit auch sehr gut nur nich bei Seiten die offenbar per Hostheader "funktionieren".

    Ich mache es so

    .
    .
    sa.sin_addr.s_addr = inet_addr(str_IP);
    .
    .
    .
    strcpy(buffer, "GET /bla/bla/index.htm HTTP/1.0\r\n\r\n");
    send(s, buffer, strlen(buffer), 0);
    

    Wenn ich z.B in mein Browser eingebe www.test.de/bla/bla/index.htm dann bekomme ich meine gewünschte Seite.

    Wenn ich die Server IP eingebe also z.B so 10.10.10.10/bla/bla/index.htm bekomme ich eine leere Seite nix dada leider.

    Ich hoffe ihr versteht mein Problem. und einer hat Lösungvorschlag, wenn ich die Adresse vorher per DNS Auflöse ist das selbe da der Get Request dann wieder mit IP funktionert 😞

    Vielen dank im Voraus für Vorschläge/Lösungen



  • an einer IP koennen mehrere domains bedient werden.
    deswegen sieht ein http 1.1 request so aus:

    GET /index.html HTTP/1.1
    Host: www.foo.com
    

    und wird an die IP geschickt, die hinter "www.foo.com" steckt. hinter "www.foobar.com" kann aber die gleiche IP stehen. der server unterscheidet alleine an "Host:" was zu liefern ist.



  • vielen Dank ich wird mir weiterhelfen!


Anmelden zum Antworten