Problemas al extraer Codigofuente de MEDIAFIRE

Iniciado por USLO, 26 Abril 2012, 13:26 PM

0 Miembros y 1 Visitante están viendo este tema.

USLO

Hola muy buenas a todos !
A ver si alguien me puede ayudar con este tema que llevo 2 semanas y sigo sin entender el porque a mi problema ,La idea final es crear un actualizador de NOD32.

El codigo fuente(WEB=MEDIAFIRE.com) extraido con MI PROGRAMA
no esta al completo, sin enbargo cuando miro el CodigoFuente con mi ExploradorWEB= (FIREFOX-GOOGLECROME-IE)el codigo fuente(WEB=MEDIAFIRE.com) no es el mismo al mio extraido y no precisamente for el final si no por el medio.

A ver si alguien tiene idea de porque puede ser que me estoy desesperando.

Voy a dejar mi codigo fuente;
Gracias de antemano

Esta parte Busca el codigo fuente y lo almacena en TEXTBOX
        Dim url As String = String.Empty

        url = txtWeb.Text

        If url = String.Empty Then

            MessageBox.Show("Enter url")

        Else

            Try

                Dim pagesource As String = getHtml(url)

                txtShow.Text = pagesource

            Catch ex As Exception

                MessageBox.Show("Error In retreiving code")

            End Try

        End If


        Call FindWord()



Esta parte Busca una palabra.
   Private Sub Findword()

        Dim posicionStart As Long
        Dim URLExtractionTemp As String


        Dim Numerico As Boolean
        Dim Position As Long
        Dim CountWordfound As Integer
        txtBusca.Text = "name="

        Position = 0
        posicionStart = 1
        CountWordfound = 0
        Try


            Do While Numerico = False
                If posicionStart = 0 Then
                    'Position += 1
                Else
                    Position = posicionStart + 1
                End If
                posicionStart = InStr(CInt(Position), txtShow.Text, txtBusca.Text)
                'If posicionStart = 0 Then Exit Sub

                URLExtractionTemp = Mid(txtShow.Text, posicionStart + 6, 6)
                CountWordfound += 1
                If IsNumeric(URLExtractionTemp) Then
                    Numerico = True
                Else
                    'posicionStart += 1
                End If
            Loop

        Catch ex As Exception

        End Try
    End Sub





kub0x

Has dicho que el código fuente que obtienes es distinto al que muestra tu navegador. ¿Podrias postear la función que utilizas para extraer el código fuente?
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


USLO

Perdon pense que lo habia puesto!

   Private Function getHtml(ByVal url As String) As String

        Dim myWebRequest As HttpWebRequest = DirectCast(HttpWebRequest.Create(url), HttpWebRequest)

        myWebRequest.Method = "GET"

        ' make request for web page

        Dim myWebResponse As HttpWebResponse = DirectCast(myWebRequest.GetResponse(), HttpWebResponse)

        Dim myWebSource As New StreamReader(myWebResponse.GetResponseStream())

        Dim myPageSource As String = String.Empty

        myPageSource = myWebSource.ReadToEnd()

        myWebResponse.Close()

        Return myPageSource

    End Function





A ver que opinas

kub0x

He probado la función, aunque a simple vista está bien y no hay ningun problema de código, ¿podrías explicarme con precisión donde obtienes el "error"?

Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


USLO

Si claro ,mira busca  en tu explorador web VIEWCODE
WEB (      http://www.mediafire.com/?yxwu7w71dz6xd67       )
la palabra (      name="6425d5030bb01709290cb997de6c26cd"         )     


ahora hazlo con el codigo extraido con el programa y veras que no esta

name="6425d5030bb01709290cb997de6c26cd"

A primera vista no hay error ninguno pero falta CODIGO al menos a mi y si es el caso para ti , pues no lo entiendo  .    :P

Gracias de antemano  :-\

kub0x

Cita de: Loic en 26 Abril 2012, 13:59 PM
Si claro ,mira busca  en tu explorador web VIEWCODE
WEB (      http://www.mediafire.com/?yxwu7w71dz6xd67       )
la palabra (      name="6425d5030bb01709290cb997de6c26cd"         )      


ahora hazlo con el codigo extraido con el programa y veras que no esta

name="6425d5030bb01709290cb997de6c26cd"

A primera vista no hay error ninguno pero falta CODIGO al menos a mi y si es el caso para ti , pues no lo entiendo  .    :P

Gracias de antemano  :-\

Te estás equivocando amigo. Si funciona, tanto el programa como el navegador capta dicho trozo de mensaje. Solo tuve que poner un contains.("6425d5030bb01709290cb997de6c26cd") y me devolvio que sí. Creo que tu error está en que le mandas a tu programa al link erroneo. Es decir, al final del link tienes un espacio de más que genera al final de la cadena del url un %AO añadido, que hace que tu aplicación en .NET visite mal el link.

Lo digo porque cuando he pinchado sobre el link me ha redireccionado a la pagina principal de mediafire, me fijé que al final de la url habia un %AO lo borré y me mandó a la descarga de tu archivo. Por eso obtienes otro código distinto :P

Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


USLO

Bueno ya encontre la solucion a mi problema !

Muy tonto de mi cuando extrahia la url de MEDIAFIRE desde otra URL USANDO las funciones dadas anteriormente,me devolvia http://www.mediafire.com/?yxwu7w71dz6xd67"

En vez de http://www.mediafire.com/?yxwu7w71dz6xd67

por lo que esas comillas me redireccionaban a http://www.mediafire.com/?yxwu7w71dz6xd67%AO


Dios mio todas estas horas creando otrasfunciones para sacar el codigo y resulta que era por una comillas!
Que confusion mas confusa!!Gracias de nuevo espero que al menos a alguien le sirva esta funcion!

USLO

Responder Gracias no vi tu mensaje muchas gracias!! :P :P