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
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?
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
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.
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 :-\
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.
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!
Responder Gracias no vi tu mensaje muchas gracias!! :P :P