[java] Jak dát serveru vědět o cookie při stahování stránky?

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod JN 25. 3. 2008 14:02

Dívám se občas na webové stránky na kterých analyzuji data (zboží, ceny).
Abych to zautomatizoval, napsal jsem si jednoduchý program. Výňatek z kódu:

...
url = new URL(myUrl);
conn = url.openConnection();
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String sPage = streamToString(rd); // muj prevod stranky na string
parse(sPage); // nalezeni potrebne informace

Mám ale problém - jistá stránka používá cookie. Našel jsem ji v cachi - je to soubor

loginname@www.adresa[1].txt

Ovšem jenom IE ví o této cookie. Můj program samozřejmě ne.
Existuje způsob jak tu cookie uchopit a předat ji někam, abych
stáhnul správná data ? Nemůžu najít žádný vhodný příklad.
Díky..
JN
Junior

Odeslat příspěvekod Nargon 25. 3. 2008 14:06

Prvni vec co mi google nasel: http://java.sun.com/j2se/1.5.0/docs/gui ... pport.html
A myslim ze je to temer presne to co potrebujes.
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor

Odeslat příspěvekod JN 25. 3. 2008 14:56

Díky byl to správný směr. Můj omyl byl v tom, že se nepředavá celý cookie soubor, ale pouze název nějaké proměnné a její hodnota - obě jsou k nalezení v tom souboru. Takže stačí pak napsat

conn.setRequestProperty("Cookie", "name1=value1");

Těch dvojic může být víc (odděleny středníkem). V tom txt souboru jsou to první 2 řádky sekce, jež pak končí '*' (a může začínat jiná).
JN
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků