Seite 1 von 1

PB-Webserver: Angefragte URL auslesen?

Verfasst: 05.10.2014 01:02
von Delle
Hallo,

es gibt ja auf der PureAREA diesen Webservercode:

Code: Alles auswählen

EOL$ = Chr(13)+Chr(10) 

OpenConsole() 
If InitNetwork()=0 
  PrintN("Das Netzwerksystem konnte nicht initialisiert werden") 
EndIf 
If CreateNetworkServer(1,80)=0 
  PrintN("Server konnte nicht auf Port 80 erstellt werden") 
Else 
  PrintN("server wurde auf Port 80 erstellt") 
EndIf 

Repeat 
  Event= NetworkServerEvent() 
  If Event=2 
    client = EventClient() 
    
    *Buffer = AllocateMemory(1000) 
    Repeat 
      gelesen=ReceiveNetworkData(client,*Buffer,1000) 
    Until gelesen<=0 
    
    PrintN("Nachfrage von "+ IPString(GetClientIP(client))) 
    
    DatenZuSenden.s="Hallo!" + Str(GetTickCount_() + gelesen) 
    
    Define HtmlFile.s
    
    HtmlFile=  "HTTP/1.1 200 OK"+EOL$
    HtmlFile+  "Date: Wed, 07 Aug 1996 11:15:43 GMT"+EOL$
    HtmlFile+  "Server: Atomic Web Server 0.2b"+EOL$
    HtmlFile+  "Content-Length: "+Str(Len(DatenZuSenden))+EOL$
    HtmlFile+  "Content-Type: text/html" +EOL$
    HtmlFile+  EOL$
    HtmlFile+  DatenZuSenden
    
    SendNetworkString(client,HtmlFile)
  EndIf 
  
ForEver
Wie frägt man hier z.B. aber die angefragte URL (127.0.0.1/irgendwas) ab oder z.B. den Useragenten (Browser)?

Danke,
Delle

Re: PB-Webserver: Angefragte URL auslesen?

Verfasst: 05.10.2014 01:39
von Andreas21
Meinst du sowas hier?
GET / HTTP/1.1
Host: localhost
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4


GET /favicon.ico HTTP/1.1
Host: localhost
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4

-Encoding: gzip,deflate,sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
Wenn ja schau dir doch mal den Inhalt von *Buffer an.
Es fehlt in deinem Code auch ein FreeMemory(*Buffer)

Re: PB-Webserver: Angefragte URL auslesen?

Verfasst: 05.10.2014 01:40
von Delle
Genau! ;)