NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Ladislav Niderle:10.3.2016 13:14

Ahoj, chtěl bych se zeptat zda by mi někdo nemohl poradit. Potřebuji vytvořit program, který odešle na web https informace (využívá se u toho cookie) a bude schopen počkat na odpověď, aby se mohla stáhnout samotná stránka a nakonec zobrazit někde jinde. To zobrazení mi momentálně je jedno, ale k tomu stažení jsem se zatím ještě nedostal. Neví někdo jak bych měl začít? Nebo jestli máte nějaký link, kde by něco takového bylo nějak vysvětleno, tak budu jedině rád.

Předem děkuji za pomoc

 
Odpovědět
10.3.2016 13:14
Avatar
Petr Čech
Tvůrce
Avatar
Petr Čech:10.3.2016 15:34

Použiješ toto: http://stackoverflow.com/…client-class
Pokud chceš poradit lépe, rozveď, co by to přesně mělo dělat.
Tady je příklad použití WC na přihlášení do Itnetwork.cz

public class CookieAwareWebClient : WebClient
{
        private CookieContainer cookie = new CookieContainer();

        protected override WebRequest GetWebRequest(Uri address)
        {
                WebRequest request = base.GetWebRequest(address);
                if (request is HttpWebRequest)
                {
                        (request as HttpWebRequest).CookieContainer = cookie;
                }
                return request;
        }
}

NameValueCollection pars = new NameValueCollection();
pars.Add("form-name", "login_form");
pars.Add("email", "[email protected]");
pars.Add("password", "superstrongpassword41584");
pars.Add("login", "Přihlásit");

CookieAwareWebClient cl = new CookieAwareWebClient();
using(cl)
{
        cl.UploadValues("http://www.itnetwork.cz/prihlaseni", "POST", pars);
        string HTML=cl.DownloadString("http://www.itnetwork.cz/udalosti");
}
Editováno 10.3.2016 15:36
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
10.3.2016 15:34
the cake is a lie
Avatar
Ladislav Niderle:10.3.2016 16:59

Jedná se o to, že na webu, který je pod https je formulář, který se má vyplnit a po stisku odeslat se pod daný formulář zobrazí další formulář s informacemi + graf. A je žádáno, aby se to mohlo udělat do WFA aplikace. Ten příklad co jsi napsal chápu ale asi jen z polovičky. vím, že tam je nějaká třída CookieAwareWeb­Client ve které je metoda s návratem. Ale abych se přiznal, tak nevím kam dát zbytek co jsi tam dal a ani jak tu metodu využiji. Snad jsem to líp popsal s čím mám problém a moc děkuji.

 
Nahoru Odpovědět
10.3.2016 16:59
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Ladislav Niderle
Petr Čech:10.3.2016 17:29

Ten kód, co nepatří do třídy dáš tam, kde ho budeš vyžadovat onu funkcionalitu.
NameValueCollection pars je kolekce názvů polí formuláře a jejich hodnot (umíš HTML, ne?).
cl.UploadValues se používá pro odeslání POST požadavku, tady je příklad: https://msdn.microsoft.com/…w7b4fz7.aspx
A jaké přesně chování vyžaduješ od cookies? Moje řešení funguje tak, že jen nezapomíná cookies.

Nahoru Odpovědět
10.3.2016 17:29
the cake is a lie
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Ladislav Niderle
Petr Čech:10.3.2016 17:36

A používej prosím tlačítko odpovědět.

Nahoru Odpovědět
10.3.2016 17:36
the cake is a lie
Avatar
Odpovídá na Petr Čech
Ladislav Niderle:10.3.2016 18:31

Dobře, moc děkuji

 
Nahoru Odpovědět
10.3.2016 18:31
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Ladislav Niderle
Petr Čech:10.3.2016 18:48

Pokud jsem to vyřešil, označ prosím můj komentář "fajfkou", pokud ne, nemám problém s dořešením.

Nahoru Odpovědět
10.3.2016 18:48
the cake is a lie
Avatar
Odpovídá na Petr Čech
Ladislav Niderle:11.3.2016 6:42

Zkusil jsem si to a zatím to vypadá dobře, takže moc děkuji. Pokud bych ještě na něco narazil, tak na to asi vytvořím nové vlákno později, ale jinak moc děkuji. Já sám bych to psal strašně dlouho a bez jistého výsledku :)

 
Nahoru Odpovědět
11.3.2016 6:42
Avatar
Ladislav Niderle:11.3.2016 7:20

Jinak se jedná o následující stránku: https://edrg.portaludzs.sk/egrouper/

 
Nahoru Odpovědět
11.3.2016 7:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.