Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Yhteys nettiin (C)

Sivun loppuun

p-p [30.12.2004 18:25:48]

#

Miten saisin otettua yhteyden nettiin jollekin palvelimelle ja ladattua sieltä tiedostoja?

Meitsi [30.12.2004 18:47:08]

#

Wiunsockilla lähetät http headerin jossa pyydät tiedostoa.

Deewiant [30.12.2004 18:47:53]

#

Tässä Mureankuhan keskustelussa oli pikkaisen infoa, tuolla pääsee ainakin alkuun. Sitten wgetin lähdekoodia voi tutkiskella, tai miksei jopa Mozilla Firefoxin, jos uskallusta riittää. Homma on kuitenkin lyhyesti sanottuna vaikeaa.

FooBat [30.12.2004 19:40:53]

#

Palvelemilla on käynnissä ohjelmia, jotka vastaanottavat ja ymmärtävät tietyssä formaatissa olevia pyyntöjä. Yleisimmin tähän tarkoitukseen käytetyt protokollat ovat HTTP ja FTP.
HTTP
ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt

FTP
ftp://ftp.rfc-editor.org/in-notes/rfc959.txt

Yksinkertaisen HTTP-pyynnön voi tehdä helposti vaikka telnet ohjelmalla.

> telnet www.google.fi 80
GET /index.html HTTP/1.1
Host: www.google.fi

Tähän vastauksen www.google.fi palauttaa perushakusivun. index.html:n paikalle voi vaihtaa minkä tahansa tiedoston, jonka haluaa ladata. Serveri palauttaa pienen HTTP headerin, jossa kerrotaan lähetettävän tiedoston tyyppi ja koko sekä tietenkin itse tiedoston.

Google hakukin tehdään käyttämällä GET:iä. Useimmat formit lähetetään kuitenkin käyttäen POST tapaa.

> telnet www.google.fi 80
GET /search?hl=fi&q=HTTP+POST&btnG=Google-haku&meta= HTTP/1.1
Host: www.google.fi

Jos haluat tehdä saman C-koodissa, avaat vain soketin porttiin 80 ja kirjoitat siihen sokettiin samat mitä tuolle telnetille.

Edit: noi molemmat pyynnöt vaativat loppuun kaksi rivinvaihtoa, jotka koodi-tagi näyttää poistavan.

p-p [31.12.2004 11:25:33]

#

Käyn tutkiskelemaan mozillan koodia(uskallusta todella pitää olla :D)Toivottavasti löydän vastauksen... Kiitos teille kaikille!

thefox [01.01.2005 00:41:59]

#

Ei nyt kannata FireFoxin sorsaa lähteä sentään noin yksinkertaisen asian takia tutkimaan :) Googleta vain "winsock c download file" niin luulisi löytyvän ihan koodiesimerkkejäkin jos FooBat:n tarjoilema teoria meinaa mennä yli hilserajan.

Asialle omistautuneita kirjastojakin löytyy, mm. libcurl: http://curl.haxx.se/ Tällaisten etuna on se, että ne osaavat useimmiten mm. forwardit.

p-p [01.01.2005 15:10:09]

#

Mistä ton libcurlin voi ladata?(niil on aika sekavat sivut)
Kun kävin kattomas noit, nii siäl oli eri systeemeille niitä tiedostoja(DOS,Windows...)Jos fawkz(tai joku muu) vois laittaa linkin suoraan DOSsin lataus linkkiin,nii olis ihan kiva :D

thefox [02.01.2005 10:04:34]

#

Ai DOS:lle koodaat? Suosittelisin vaihtamaan Windowsiin (tai unixiin) :-) DOS + Internet = ei hyvä. libcurlia ei DOS:lle löydy, ainoastaan itse ohjelma, eli curl: http://www.rahul.net/dkaufman/curl-7.10.5-DOS.zip Voit tietysti käyttää tätä omasta ohjelmastasi jos sinun välttämättä täytyy koodata DOS:lle.

p-p [02.01.2005 17:36:57]

#

No kai voisin wintoosaan siirtyä,mutta sivut on silti sekavat :D!En eka meinannu löytää wintoosalle libarya, mut wizardilla löyty...

Masfonos [02.01.2005 18:07:20]

#

Miten muka on vaikeaa?

Painaa Download, sitten painaa Packages otsikon alta Win32.

http://curl.haxx.se/download.html#Win32

p-p [02.01.2005 18:13:40]

#

Katos joo... Niinpäs siel onkii semmonen juttu...

Linkku [03.01.2005 18:10:44]

#

Tai sitten voit käyttää wxWidgetsiä.

wxURL url("https://www.ohjelmointiputka.net/keskustelu/");
wxInputStream *tiedosto;

tiedosto= url.GetInputStream();
while(!tiedosto.Eof())
 ....

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta