Oppure

Loading
14/12/10 15:05
Question
Ciao a tutti ragazzi,
premetto che sono nuovo del vb.net e che sto leggendo la vostra guida,quello che stavo cercando di fare è piuttosto semplice:
effettuare il login ad un sito web da vb.net e poi vedere il sorgente di un'altra pagina accessibile solo ai loggati.

Il sito mi permette di fare il login da url (es. sito.com/…;username=Question&password=123) solo che se provo a visitarlo ad esempio con l'oggetto webclient non mi fà entrare(penso perché non accetta i cookies o qualcosa del genere); come posso fare senza usare un webbrowser?

Volevo precisare che nel vecchio vb6 riuscivo a farcela grazie ad una serie di dll,ma che qui non so proprio come muovermi :-|
aaa
14/12/10 16:16
HeDo
devi capire come e dove il sito memorizza le informazioni di avvenuto login: querystring, cookie, hidden field, etc...

partendo da questo puoi replicare queste informazioni nella seconda webrequest in modo da mostrare al webserver che sei ancora tu :)
aaa
14/12/10 19:31
Question
mi puoi fare un esempio? >_>
aaa
14/12/10 21:35
HeDo
Postato originariamente da Question:

mi puoi fare un esempio? >_>


esempio banale sarebbe aggiungere alla seconda webrequest un cookie creato dalla prima come conseguenza del login :)
aaa
14/12/10 22:37
Question
Grazie delle risposte ma sin qua avevo capito, non ho proprio idea della sintassi per fare quello che dici tu :rotfl:
Qualche link guida? Qualche esempio di codice già scritto? Qualsiasi cosa mi sarebbe d'aiuto,su google non riesco a trovare niente e attualmente non ho un libro sul vb.net (ma non penso ci sia la soluzione)

Il webbrowser è fattibile,però lo vedo proprio come ultima spiaggia data la pesantezza della procedura :yup:
Ultima modifica effettuata da Question 14/12/10 22:39
aaa
14/12/10 22:41
HeDo
Postato originariamente da Question:

Grazie delle risposte ma sin qua avevo capito, non ho proprio idea della sintassi per fare quello che dici tu :rotfl:
Qualche link guida? Qualche esempio di codice già scritto? Qualsiasi cosa mi sarebbe d'aiuto,su google non riesco a trovare niente e attualmente non ho un libro sul vb.net (ma non penso ci sia la soluzione)

Il webbrowser è fattibile,però lo vedo proprio come ultima spiaggia data la pesantezza della procedura :yup:


msdn.microsoft.com/it-it/library/…(VS.95).aspx
msdn.microsoft.com/en-us/library/…
ednortonengineeringsociety.blogspot.com/2008/10/…
Ultima modifica effettuata da HeDo 14/12/10 22:42
aaa
15/12/10 18:00
Question
Allora ho letto e riletto quei link,penso che si debba scrivere una procedura del genere:
Imports System.net

'c'è la classe e tutto il resto [...]

Private sub Procedura()
dim hRequest as httpWebRequest= DirectCast(webRequest.create("http://www.sito.com/login?=&username=Question&password=123),httpWebRequest)
hRequest.CookieContainer = New CookieContainer()
request.CookieContainer.Add(New Uri("http://sito.com"), New Cookie("NOME_COOKIE", "VALORE_COOKIE"))

'qui inserisco il resto della routine per ottenere il sorgente della pagina con httpRequest[...]
End Sub


Ecco però avrei delle domande:
1)come mai sono costretto ad usare DirectCast ed ad effettuare una conversione?
2)se il sito dove faccio il login assegna un valore random al cookie come posso fare? Tra i vari sorgenti che ho letto mi pare d'aver capito che devo usare l'httpWebResponse
3)In particolare ho trovato un link ad una domanda in un forum con il mio stesso problema,dando una letta al codice postato mi sembrava tutto ok (data anche la risposta che in teoria "avrebbe illuminato" il creatore del topic ma che a me non dice niente)
http//www.vbdotnetforums.com/net-sockets/… <---

Aiuto :hail:


EDIT
Ma ce la fà il foro ad accettarmi un ipertestuale senza incasinarmelo? :/ [_url] sito [*url] (al posto di * un / e al posto di _ uno spazio) non funge,[url=sito]nome [*url] non funge,il sito scritto senza tag non funge, e che cavolo xD
Ultima modifica effettuata da Question 15/12/10 18:38
aaa