/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
http protekol
Fra : Aeon


Dato : 25-10-01 17:06

Jeg er ved at sætte mig ind i hvordan en http protekol fungere..

Er der nogen som kan hjælpe mig med et kode stykke af protekolen fra en web
server. Jeg har kigget og læst i rfc 1945 og 2068 men syntes ikke rigtig
der er noget hjælp at hente med hensyn til selve kodningen.

mvh

Aeon



 
 
Carsten Svaneborg (25-10-2001)
Kommentar
Fra : Carsten Svaneborg


Dato : 25-10-01 17:17

Aeon wrote:
> Jeg er ved at sætte mig ind i hvordan en http protekol fungere..
> Er der nogen som kan hjælpe mig med et kode stykke af protekolen
> fra en web server.

Du kan downloade koden til Apache.
Jeg tror nok det er smart at selv prøve at skrive et simpelt
program der downloader websider, dvs. ligesom wget. Du skal
essentielt

telnet www.server.dk 80
get /hvor/er/mit/dokument.html HTTP/1.0<linieskift><linieskift>

Så får du dokumentere (eller en fejl) i hovedet.

> Jeg har kigget og læst i rfc 1945 og 2068 men syntes ikke rigtig
> der er noget hjælp at hente med hensyn til selve kodningen.

RFC'erne fortæller dig hvad du skal gøre, ikke hvordan du skal
gøre det.

Evt. kunne du starte med at lave en transperant webproxy,
og så kigge på hvad for information der sendes mellem browser
og webserver. Det vil også indeholde en del socket og
fork programmering, men vil være simplere end at starte
med en webserver.

(desuden kan du også bruge den til at forfalske stemmeafgivning
på websites ;*)

--
Carsten Svaneborg
http://www.mpip-mainz.mpg.de/~svanebor/

Kim Petersen (25-10-2001)
Kommentar
Fra : Kim Petersen


Dato : 25-10-01 19:16

"Aeon" <aeon@get2net.dk> writes:

> Jeg er ved at sætte mig ind i hvordan en http protekol fungere..
>
> Er der nogen som kan hjælpe mig med et kode stykke af protekolen fra en web
> server. Jeg har kigget og læst i rfc 1945 og 2068 men syntes ikke rigtig
> der er noget hjælp at hente med hensyn til selve kodningen.

Du følger ganske enkelt instruktionerne for http protokollen...
f.eks for at hente en side.

Sorry for at koden er i Python (da dette er en C gruppe) - men Python
er rigtig god at benytte til at skrive et draft (ala pseudokode) og
teste det efter inden man migrerer programmet over i C.

import socket

side="" # opsaml side i denne var.

sock=socket(socket.AF_INET,socket.SOCK_STREAM) # lav en socket
sock.connect("www.yahoo.com",80) # connect til yahoo
sock.send("GET / HTTP/1.1\r\n") # send en GET request (hent)
sock.send("Host: www.yahoo.com\r\n") # mime - navnet på server
sock.send("\r\n") # afslut mime
data=sock.recv(1024) # hent en pakke af data
while data:
side=side+data # append til side
data=sock.recv(1024) # næste pakke
sock.close() # luk - og sluk

Nu har du data'ene i "side" variablen...

HTTP/1.0 200 OK <-- status for GET.
Date: Thu, 25 Oct 2001 18:13:21 GMT <-- første mime linie
Connection: close
Content-Type: text/html
<-- afslut mime
<html><head><title>Ya................. <-- resten af data er siden.

--
Mvh. Kim Petersen /| Tlf: +4575831551 |\ Jomfru Ingefreds Vej 18
Software Engineer / | Fax: (none atm.) | \ 7100 Vejle
LSS / | Email: kim@vindinggaard.dk | \ DK - Danmark

Anders Borum (26-10-2001)
Kommentar
Fra : Anders Borum


Dato : 26-10-01 09:22

"Aeon" <aeon@get2net.dk> skrev i en meddelelse
news:9r9dc0$2cfm$1@news.cybercity.dk...
> Jeg er ved at sætte mig ind i hvordan en http protekol fungere..
>
> Er der nogen som kan hjælpe mig med et kode stykke af protekolen fra en
web
> server. Jeg har kigget og læst i rfc 1945 og 2068 men syntes ikke rigtig
> der er noget hjælp at hente med hensyn til selve kodningen.

Jeg har noget kildekode der foretager GET og POST forespørgsler i c++ som
bygger på en (Win)Socket-klasse jeg byggede for længe siden. Hvis du er
interesseret kan du hente kildefilerne på www.palmin.dk/http.zip

Det er skrevet til VC6, men det kan altså ikke compilere uden rettelser, da
det er taget ud af en større sammenhæng. Den større sammenhæng er et "ping
med tilbagemelding"-program for en amerikansk adsl-anmelder. Jeg har ikke
lov at offentliggøre kildekoden.

Venlig hilsen Anders

[klip]



Aeon (29-10-2001)
Kommentar
Fra : Aeon


Dato : 29-10-01 13:58

Jeg takker for besvarelserne... Det viste sig at jeg havde styr på det..
Mit problem var blot at jeg ikke havde forstået at der skulle være 2 gang
\n..


Endnu engang tak fo hjælpen.

Aeon



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste