Techster Skrevet 8. april 2010 Del Skrevet 8. april 2010 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
Ueland Skrevet 8. april 2010 Del Skrevet 8. april 2010 "\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. Lenke til kommentar
Techster Skrevet 8. april 2010 Forfatter Del Skrevet 8. april 2010 (endret) "\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 8. april 2010 av Techster Lenke til kommentar
Techster Skrevet 8. april 2010 Forfatter Del Skrevet 8. april 2010 LØSNING: Responsen må avsluttes med en dobbel "\r\n" alstå "\r\n\r\n". Funker fett nå! Lenke til kommentar
MailMan13 Skrevet 8. april 2010 Del Skrevet 8. april 2010 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). Lenke til kommentar
Ueland Skrevet 8. april 2010 Del Skrevet 8. april 2010 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå