ci riprovo per la terza volta cercando di essere il più chiaro possibile...
allora...volevo creare un applicazione per accedere con le credenziali di login ad un sito e ricavare informazioni da una pagina....tralasciando per ora il secondo punto, per accedere al sito devo inviare con il metodo post una stringa contenente i dati per il login... e questo è il mio problema...ho trovato un codice che credevo funzionante ma non nel mio caso... il codice è il seguente:
codice:
Imports System 
Imports System.IO 
Imports System.Net 
Imports System.Text 
Namespace Examples.System.Net 
Public Class WebRequestPostExample 
Public Shared Sub Main() 
' Create a request using a URL that can receive a post. 
Dim request As WebRequest = WebRequest.Create("http://www.contoso.com/PostAccepter.aspx ") 
' Set the Method property of the request to POST. 
request.Method = "POST" 
' Create POST data and convert it to a byte array. 
Dim postData As String = "This is a test that posts this string to a Web server." 
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData) 
' Set the ContentType property of the WebRequest. 
request.ContentType = "application/x-www-form-urlencoded" 
' Set the ContentLength property of the WebRequest. 
request.ContentLength = byteArray.Length 
' Get the request stream. 
Dim dataStream As Stream = request.GetRequestStream() 
' Write the data to the request stream. 
dataStream.Write(byteArray, 0, byteArray.Length) 
' Close the Stream object. 
dataStream.Close() 
' Get the response. 
Dim response As WebResponse = request.GetResponse() 
' Display the status. 
Console.WriteLine(CType(response, HttpWebResponse).StatusDescription) 
' Get the stream containing content returned by the server. 
dataStream = response.GetResponseStream() 
' Open the stream using a StreamReader for easy access. 
Dim reader As New StreamReader(dataStream) 
' Read the content. 
Dim responseFromServer As String = reader.ReadToEnd() 
' Display the content. 
Console.WriteLine(responseFromServer) 
' Clean up the streams. 
reader.Close() 
dataStream.Close() 
response.Close() 
End Sub 
End Class 
End Namespace
cambiando questo codice:
codice:
Dim request As WebRequest = WebRequest.Create("http://www.contoso.com/PostAccepter.aspx ")
in questo:
codice:
Dim request As WebRequest = WebRequest.Create("http://www.miosito.it/login.asp ")
tutto funziona...
ma se cambio questo:
codice:
Dim postData As String = "This is a test that posts this string to a Web server."
in questo:
codice:
Dim postData As String = "login=admin&pwd=sys"
mi dà il seguente errore:
WebException non è stata gestita
Errore del server remoto: (404) Non trovato.
nella seguente stringa di codice:
codice:
Dim response As WebResponse = request.GetResponse()
La mia domanda è: il codice che ho trovato fà al caso mio? e se si... come posso utilizzarlo?
spero di essere stato abbastanza chiaro.. Grazie