Gå til innhold

Anbefalte innlegg

Forsøker å sette sammen en http response manuelt som inneholder noe veldig enkel html. Når appen min lytter på port 80 og jeg peker nettleseren ditt får jeg dette ut fra socketen:

 

"GET / HTTP/1.1\r\nUser-Agent: Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.10\r\nHost: 10.0.0.5\r\nAccept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\nAccept-Language: nb-NO,nb;q=0.9,no-NO;q=0.8,no;q=0.7,en;q=0.6\r\nAccept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\nAccept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\nConnection: Keep-Alive, TE\r\nTE: deflate, gzip, chunked, identity, trailers\r\n\r\n"

 

Headerne kommer med andre ord i en lang streng ser det ut til. Har forsøkt å respondere etter samme "oppskrift" uten hell; ingen feilmeldinger, det er bare ingenting som skjer.

Bruker muligens feil headere, men har forsøkt å kopiere headerne fra en nettside og sendt den, uten at det fungerte. Håper noen der ute kan lære meg hvordan dette gjøres.

Lenke til kommentar
Videoannonse
Annonse

"\r\n" betyr linjeskift, splitt om strengen etter "\r\n" så vil det virke mer fornuftig ut.

 

Det er i ditt eksempel "GET /" som betyr hva nettleseren vil gjøre, der vil den be om å få / returnert. :)

Så langt er jeg med. :) Poenget er når jeg forsøker å sende en response til denne requesten...

 

GET / HTTP/1.1

User-Agent: Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.10

Host: 10.0.0.5

Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1

Accept-Language: nb-NO,nb;q=0.9,no-NO;q=0.8,no;q=0.7,en;q=0.6

Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1

Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0

Connection: Keep-Alive, TE

TE: deflate, gzip, chunked, identity, trailers

 

...jeg får problemer.

 

string response =

"HTTP/1.1 200 OK" +

"Cache-Control: no-cache" +

"Content-Type: text/html; charset=utf-8" +

"Content-Encoding: gzip" +

"Date: Thu, 08 Apr 2010 18:14:59 GMT" +

"Content-Length: 6";

 

Akkurat nå forsøkte jeg denne responsen uten hell. Opera melder "request in progress"

 

EDIT:

AHA! Jeg må kanskje inkludre \r\n i responsen også!

Endret av Techster
Lenke til kommentar

Det skal være linjeskift mellom hver linje i header, og to linjeskift mellom header og content (som ikke er en del av content-length).

Helt korrekt :)

 

Jeg har og skrevet en liknende parser her Det er dog Java, sånn om du vil ha noe å sjekke opp noe imot :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...