PB-Webserver: Angefragte URL auslesen?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

PB-Webserver: Angefragte URL auslesen?

Beitrag 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
PB 6.21 | Win 11
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Re: PB-Webserver: Angefragte URL auslesen?

Beitrag 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)
Zuletzt geändert von Andreas21 am 05.10.2014 01:41, insgesamt 1-mal geändert.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Re: PB-Webserver: Angefragte URL auslesen?

Beitrag von Delle »

Genau! ;)
PB 6.21 | Win 11
Antworten