Avatar
niderle.l
Člen
Avatar
niderle.l:

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. března 13:14
Avatar
Petr Čech (czubehead):

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", "somebody@gmail.com");
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. března 15:36
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 10. března 15:34
Why so serious? -Joker
Avatar
niderle.l
Člen
Avatar
niderle.l:

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. března 16:59
Avatar
Odpovídá na niderle.l
Petr Čech (czubehead):

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. března 17:29
Why so serious? -Joker
Avatar
Odpovídá na niderle.l
Petr Čech (czubehead):

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

Nahoru Odpovědět 10. března 17:36
Why so serious? -Joker
Avatar
niderle.l
Člen
Avatar
Avatar
Odpovídá na niderle.l
Petr Čech (czubehead):

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. března 18:48
Why so serious? -Joker
Avatar
niderle.l
Člen
Avatar
Odpovídá na Petr Čech (czubehead)
niderle.l:

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. března 6:42
Avatar
niderle.l
Člen
Avatar
niderle.l:

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

 
Nahoru Odpovědět 11. března 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.