|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 18
|
[C#] Login su pagina web con antispam
Ciao a tutti, devo fare un programma in C# che fa il login su un sito per poi elaborare dei dati...
con questo codice riesco ad effettuare il login su un sito che chiede solo user e password: string strNewValue; string strResponse; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(txtURL.Text); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.CookieContainer = new CookieContainer(); strNewValue = "username=" + textBox1.Text + "&password=" + textBox2.Text + ""; req.ContentLength = strNewValue.Length; StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(strNewValue); stOut.Close(); StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream()); strResponse = stIn.ReadToEnd(); txtResults.Text = strResponse; webBrowser1.DocumentText = strResponse; stIn.Close(); però devo fare il login su un sito che chiede anche il codice di verifica, il codice riesco a caricarlo su un componente WebBrowser, ma quando provo a fare il login mi dice che il codice è sbagliato, credo perché carico l'immagine da uno stream diverso, non so come risolvere.. aiutatemi perfavore! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Ma per caso parli di un sito che ha come controllo il captcha?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 18
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Beh, allora non credo che tu possa fare qualcosa di automatico per aggirarlo, almeno, non credo si possa chiedere pubblicamente come fare
![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Ma probabilmente nel suo programma chiede all' utente di digitare effettivamente il codice. Io avevo un problema analogo ma era dovuto al fatto che il sito aveva settato un time-out è il programma(su dispositivi mobili) utilizzava una connessione gprs.
|
![]() |
![]() |
![]() |
#6 | |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 18
|
Quote:
ma quando faccio il login dice che il codice è errato, sicuramente perché il codice lo devo ricavare dallo stesso stream ma non so come fare |
|
![]() |
![]() |
![]() |
#7 | |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 18
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
Rix86... io purtroppo non sono in grado di aiutarti, ma ti ringrazio per il codice... mi serviva proprio
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Potrebbe esserci anche qualche altro campo magari hidden o inserito tramite javascript che rende invalido il login. Prova a vedere con Firefox e Live HTTP Headers. Una volta ho dovuto fare il login automatico su una pagina aspx e senza il plugin di FF non sarei mai arrivato a trovare tutti i dati da rimandare indietro al server. |
|
![]() |
![]() |
![]() |
#10 | |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 18
|
Quote:
per il sito che mi fa impazziere la differenza rispetto al codice che ho postato è solo questa: strNewValue = "COOKIEusername=" + textBox1.Text + "&COOKIEpass=" + textBox2.Text + "&verify=" + textBox3.Text + "&loginsubmit=Login"; |
|
![]() |
![]() |
![]() |
#11 |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 18
|
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Hai provato a fare tutto o tramite WebBrowser o tramite WebRequest? Non vorrei che il server tenesse traccia anche del browser che ha fatto la richiesta. |
|
![]() |
![]() |
![]() |
#13 | |
Junior Member
Iscritto dal: Feb 2008
Messaggi: 18
|
Quote:
strNewValue = "COOKIEusername=" + textBox1.Text + "&COOKIEpass=" + textBox2.Text + "&verify=" + textBox3.Text + "&loginsubmit=Login"; StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(strNewValue); stOut.Close(); il webbrowser l'ho aggiunto solo per vedere la pagina che carica per capire se logga o no, ho provato a fare tutto da webbrowser ma non so come fare |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:42.