Como posso logar na página http://www.bhmobile.ba/portal/index usando o HttpWebRequest?
O botão de login é “Pošalji” (canto superior esquerdo).
function checkUserid(){ if (document && document.getElementById){ var f = document.getElementById('userid'); if (f){ if (f.value.length < 8){ alert('Korisničko ime treba biti u formatu 061/062 xxxxxx !'); return false; } } } return true; } Korisnik: Lozinka:
A ação do formulário é http://sso.bhmobile.ba/sso/login . Como posso usar isso com o HttpWebRequest para obter um cookie e usar alguma data desta página?
- ObserveOn e SubscribeOn – onde o trabalho está sendo feito
- Por que o otimizador aprimorado do GCC 6 quebra o código C ++ prático?
- Qual é o tempo de vida de uma expressão lambda C ++?
- O resultado da divisão é sempre zero
- Definir o foco do item no ListView WPF
Faça um novo default.aspx, e coloque isso no código por trás: Eu não posso testar mais com base na sua pergunta atual, porque você não incluiu um nome de usuário / senha válidos.
using System; using System.Web; using System.Net; using System.IO; using System.Web.UI; using System.Web.UI.WebControls; namespace Foo { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://sso.bhmobile.ba/sso/login"); req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705;)"; req.Method = "POST"; req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; req.Headers.Add("Accept-Language: en-us,en;q=0.5"); req.Headers.Add("Accept-Encoding: gzip,deflate"); req.Headers.Add("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"); req.KeepAlive = true; req.Headers.Add("Keep-Alive: 300"); req.Referer ="http://sso.bhmobile.ba/sso/login"; req.ContentType = "application/x-www-form-urlencoded"; String Username = "username"; String PassWord = "Password"; StreamWriter sw = new StreamWriter(req.GetRequestStream()); sw.Write("application=portal&url=http%3A%2F%2Fwww.bhmobile.ba%2Fportal%2Fredirect%3Bjsessionid%3D1C568AAA1FB8B5C757CF5F68BE6ECE65%3Ftype%3Dssologin%26url%3D%2Fportal%2Fshow%3Bjsessionid%3D1C568AAA1FB8B5C757CF5F68BE6ECE65%3Fidc%3D1023278&realm=sso&userid=" + Username + "&password=" + password + "&x=16&y=11"); sw.Close(); HttpWebResponse response = (HttpWebResponse)req.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string tmp = reader.ReadToEnd(); foreach (Cookie cook in response.Cookies) { tmp += "\n" + cook.Name + ": " + cook.Value; } Response.Write(tmp); Response.End(); } } }
Você pode usar a compilation no object WebClient em vez de criar a solicitação por conta própria.
WebClient wc = new WebClient(); wc.Credentials = new NetworkCredential("username", "password"); string url = "http://foo.com"; try { using (Stream stream = wc.OpenRead(new Uri(url))) { using (StreamReader reader = new StreamReader(stream)) { return reader.ReadToEnd(); } } } catch (WebException e) { //Error handeling }
- C – técnicas de serialização
- Como posso acessar uma variável global sombreada em C?
- Função retornando endereço do erro variável local em C
- Operação de busca de CPU TSC especialmente em ambiente multicore-multi-processador
- Vinculando à propriedade de class estática
- Uso do operador & em assinaturas de function C ++
- Como inicializar um membro const estático em C ++?
- Por que o C ++ não permite estruturas anônimas?
Intereting Posts
- Quão grande deve ser meu buffer recv ao chamar recv na biblioteca de soquete
- c ++ acessam membros estáticos usando o ponteiro nulo
- como atualizar o valor armazenado no dictionary em c #?
- Chaves duplicadas em dictionarys .NET?
- NSPredicate de dados principais “deleted == NO” não funciona como esperado
- Quais são as limitações do NSUserDefaults?
- Como faço para editar os modelos do Visual Studio para nova class / interface C #?
- Número variável de argumentos de passagem com tipo diferente – C ++
- ptr-> hello (); / * VERSUS * / (* ptr) .hello ();
- C # expondo a inheritance da interface COM
- Diferença entre char * e char