Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 25. listopad 2008, 16:25:14 Předmět: HTTP get v programu |
|
|
Zdravím,
Mám otázku takříkajíc "z jiného těsta". Problém spočívá v tom, že potřebuji načíst HTML stránku z Internetu. Jenže používam Code::Blocks a všechny library hlásí chyby. Nevíte o nějakém kusu kódu, který by to uměl? Předem dík. _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 25. listopad 2008, 16:36:45 Předmět: |
|
|
na builder.cz je serial o socketoch kde bol aj jednoduchy http stahovac.
inak najednoduchsia http GET hlavicka je
GET /adresar/subor.html HTTP/1.1
Host: www.nieco.cz
\n
ten volny riadok je dolezity. odpoved servera su rozne hlavicky potom je volny riadok a samotny obsah. taktiez tam byva riadok Content-lenght: 5666 kde je dlzka obsahu v bajtoch _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
Ladis
Založen: 18. 09. 2007 Příspěvky: 1536 Bydliště: u Prahy
|
Zaslal: 25. listopad 2008, 17:23:34 Předmět: |
|
|
Presne, sockety funguji vzdy. Priste by mel autor vlakna hledat takove high-level knihovny, ktere podporuji jeho kompilator (v C::B je myslim MingW, ale asi tam jdou pouzit i jine), a samozrejme i umet nastavit cestu na headery a na liby stahnutych knihoven. _________________ Award-winning game developer |
|
Návrat nahoru |
|
|
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 25. listopad 2008, 18:22:54 Předmět: |
|
|
Ladis napsal: |
Presne, sockety funguji vzdy. Priste by mel autor vlakna hledat takove high-level knihovny, ktere podporuji jeho kompilator (v C::B je myslim MingW, ale asi tam jdou pouzit i jine), a samozrejme i umet nastavit cestu na headery a na liby stahnutych knihoven. |
Po 2 hodinkach stravenych na googlovi jsem radeji polozil dotaz _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
|
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 25. listopad 2008, 18:57:45 Předmět: |
|
|
Tak děkuji, nou, máš mou gratulaci bez tebe bych to vůbec neměl _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
|
ladik-BigBoss
Založen: 28. 07. 2007 Příspěvky: 162
|
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 25. listopad 2008, 21:57:39 Předmět: |
|
|
https://addons.mozilla.org/en-US/firefox/addon/3829 tento addon do firefoxu je tiez zaujimavy. vypise ako requesty prehliadaca tak aj odpovedede servera.
da sa dokonca aj hrat na webovy prehliadac pomocou telnetu. do cmd staci zadat telnet www.nieco.cz 80 ENTER a vpisat GET hlavicku. no len to treba pisat rychlo alebo mat pripravene v schranke pretoze vetsina serverov odpaja do par sekund ak nepride poziadavka. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
SUK
Založen: 14. 11. 2007 Příspěvky: 93 Bydliště: /dev/null
|
Zaslal: 26. listopad 2008, 11:16:19 Předmět: |
|
|
nou napsal: |
GET /adresar/subor.html HTTP/1.1
Host: www.nieco.cz
\n
|
ja vim ze je to vyreseno, ale hlavicka konci \r\n
jinak content-length pouzit byt ani nemusi, ale v pripade keepalive spojeni je to vic nez vhodne |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 26. listopad 2008, 12:18:17 Předmět: |
|
|
mno \r\n IMHO ne ale \n\n |
|
Návrat nahoru |
|
|
SUK
Založen: 14. 11. 2007 Příspěvky: 93 Bydliště: /dev/null
|
Zaslal: 26. listopad 2008, 12:24:08 Předmět: |
|
|
rezna: v tom pripade nechapu jak je mozny, ze to s nicim jinym nez \r\n nefungovalo
GET / HTTP/1.1\r\n
Host: www.dom2.tld\r\n
User-agent: pepa\r\n
\r\n
takhle vzdycky vypadala hlavicka, jestli neveris najdi si prislusny RFC
rika se tomu CRLF |
|
Návrat nahoru |
|
|
Ladis
Založen: 18. 09. 2007 Příspěvky: 1536 Bydliště: u Prahy
|
Zaslal: 26. listopad 2008, 14:29:51 Předmět: |
|
|
Mne tohle taky nefungovalo jen s \n, musi byt \r\n. Matouci ale muze byt, ze kdyz ve Windows v C/C++ zdrojaku napisete \n, tak ve stringu se to rozvine na \r\n, tzn. ve zdrojaich pro Windows dycky uvidite pouzite jen \n . _________________ Award-winning game developer |
|
Návrat nahoru |
|
|
Yossarian
Založen: 28. 07. 2007 Příspěvky: 274 Bydliště: Šalingrad
|
Zaslal: 26. listopad 2008, 16:07:30 Předmět: |
|
|
Ladis napsal: |
Mne tohle taky nefungovalo jen s \n, musi byt \r\n. Matouci ale muze byt, ze kdyz ve Windows v C/C++ zdrojaku napisete \n, tak ve stringu se to rozvine na \r\n, tzn. ve zdrojaich pro Windows dycky uvidite pouzite jen \n . |
to NENI pravda.
to se deje jen pri pouziti textovych streamu / (fopen(file, 'rt');, a melo by se to tak chovat i na linuxe, jenze linux se chova hovadsky, a pri \n nepretece na dalsi radek jak by mel, ale zaroven provede carriage-return. a pak ze ms sere na jakekoliv doporuceni. |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 26. listopad 2008, 17:26:07 Předmět: |
|
|
nie. Unix-like proste len nerozlisuju medzi binarnim a textovim suborom. pre nich je vsetko binarny. nema to tam zmysel tam je dalsi riadok proste znak 0x0A. vo windows je novy riadok proste dva znaky CR+LF 0x0A+0x0D. a C ma byt prenositelne na viacere platformy tak sa asi zaviedlo textovy a binarny mod. napr IMB malo znak 0x15 NEL. a toto vsetko je v suvislosti s HTTP protokolom irelevantne pretoze ide o to co je napisane v tom RFC.
mimochodom v linuxe je \v co sposobi sko o riadkok nizsie bez navratu na zaciatok riadka. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 26. listopad 2008, 18:07:33 Předmět: |
|
|
Abych taky přispěl: v DOSu se to dělalo znakem č. 13 a č. 10, jeden byl lf(line feed(nebo nějak tak) - další řádka), druhý cr(carriage return - posun
"kurzoru"), ale s TéPéčkem šel cr vynechat _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 26. listopad 2008, 18:12:53 Předmět: |
|
|
if.then napsal: |
Abych taky přispěl: v DOSu se to dělalo znakem č. 13 a č. 10, jeden byl lf(line feed(nebo nějak tak) - další řádka), druhý cr(carriage return - posun
"kurzoru"), ale s TéPéčkem šel cr vynechat |
a co si myslis ze jsou znaky 0x0A a 0x0D??? |
|
Návrat nahoru |
|
|
|