2010-10-24 18 views
0

J'essaye de faire un exécutable dans VS2008 qui lira un code source de page Web utilisant une fonction de vb.NET dans une variable de chaîne. Le problème est que la page n'est pas * .html mais plutôt * .aspx.vb.NET WebRequête pour lire la page ASPX en chaîne, accès refusé?

J'ai besoin d'un moyen d'exécuter l'aspx et d'obtenir le html affiché dans une chaîne.

La page que je veux lire est une page de ce type: http://www.realtor.ca/PropertyDetails.aspx?PropertyID=9620716

J'ai essayé le code suivant, qui fonctionne correctement pour les pages html, mais génère le mauvais code source avec « accès refusé » pour la page titre quand je passe dans la page aspx ci-dessus.

Dim myReq As WebRequest = WebRequest.Create(url) 

    Dim myWebResponse As WebResponse = myReq.GetResponse() 

    Dim dataStream As Stream = myWebResponse.GetResponseStream() 

    Dim reader As New StreamReader(dataStream, System.Text.Encoding.UTF8) 

    Dim responseFromServer As String = reader.ReadToEnd() 

Des idées ou des idées?

+0

Pouvez-vous poster le code qui crée la variable 'url'? – JaredPar

Répondre

1

je reçois la même chose lors de l'exécution wget de la ligne de commande:

wget http://www.realtor.ca/PropertyDetails.aspx?PropertyID=9620716 

Je suppose que le serveur se fonder sur cette chose est défini dans le navigateur avant que la réponse est fournie, par exemple un biscuit. Vous voudrez peut-être essayer d'utiliser un contrôle WebBrowser (vous ne devez pas avoir visible) de la manière suivante (cela fonctionne):

Public Class Form1 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     AddHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf DocumentCompletedHandler) 
     WebBrowser1.Navigate("http://www.realtor.ca/PropertyDetails.aspx?PropertyID=9620716") 
    End Sub 

    Private Sub DocumentCompletedHandler(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs) 
     Console.WriteLine(WebBrowser1.DocumentText) 
    End Sub 
End Class 
+0

Merci, cela semble fonctionner! Je pense que vous avez raison d'avoir besoin d'un cookie ou de quelque chose. Je peux regarder ça. Merci pour l'aide, l'idée du WebBrowser DocumentText fonctionnera très bien. Cheers –

+0

Si cette réponse est acceptable, veuillez la marquer comme votre réponse acceptée afin que le répondant reçoive du crédit pour son aide. –