vb.net - net - webbrowser events
Busque en la web desde la barra de direcciones (2)
Puedes intentar usar esta función ::
Private Function CheckURL(ByVal UrlText As String)
Dim URL As New Uri(UrlText)
Dim Req As System.Net.WebRequest
Req = System.Net.WebRequest.Create(URL)
Dim Resp As System.Net.WebResponse
Try
Resp = Req.GetResponse()
Resp.Close()
Req = Nothing
Return True
Catch ex As Exception
Req = Nothing
Return False
End Try
End Function
en mi WebBrowser tengo una barra de direcciones, por supuesto, pero solo puedo buscar URL en la barra de direcciones, como "facebook.com" y algo así. Quiero que mi campo de dirección pueda funcionar como un motor de búsqueda, así que cuando escribo como www.facebook.com voy a facebook.com y cuando busco como Facebook, sin www o .com o algo así, quiero mi barra de direcciones para redirigirme a https://www.google.se/?gws_rd=ssl#q=facebook si sabes a qué me refiero. ¡Gracias!
Tal vez esta no sea la mejor manera, pero funciona.
Lo único que debe hacer es agregar más elementos a las matrices para hacerlo más perfecto. "Porque hay más posibles finales e inicios de url en la web"
Dim CheckArrStart ()
Dim CheckArrEnd ()
Haría una función para verificar para verificar la URL ingresada en la barra de direcciones.
Función privada CheckWebPageLink (ByVal Link As String) As Boolean
En esta función usaría 2 para cada bucle para verificar el inicio al final de la url.
Si encuentro un comienzo, le doy +1 a mi ok, "Dim Ok como Integer = 0" y lo elimino de la cadena.
Luego vaya al siguiente para cada ciclo para encontrar un final de url.
Entonces, si a encuentra un final + 1 a mi ok dim y también quito el final de la cadena. Lo hago porque quiero verificar cuánto tiempo está la cuerda al final, porque debe haber algo entre www. y .com
Luego, al final de mi función, compruebo si mi valor de atenuación tiene un valor de 2 y el tiempo que dura el enlace sin el inicio y el final.
Si es verdadero, devuelvo un booleano verdadero y si es falso, devuelvo un booleano falso.
Luego, en mi botón de navegación hago una declaración final if si el booblean de mi función es verdadero o falso. "Si CheckWebPageLink (ToolStripTextBox1.Text.ToLower) = True Then"
Si es verdadero solo navegue a la url y si es falso:
WebBrowser1.Navigate (" https://www.google.com/?gws_rd=ssl#q= " y ToolStripTextBox1.Text)
Como ya dije las matrices que aún necesita corregir, acabo de agregar algunas para probar.
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
If CheckWebPageLink(ToolStripTextBox1.Text.ToLower) = True Then
WebBrowser1.Navigate(ToolStripTextBox1.Text)
Else
WebBrowser1.Navigate("https://www.google.com/?gws_rd=ssl#q=" & ToolStripTextBox1.Text)
End If
End Sub
Private Function CheckWebPageLink(ByVal Link As String) As Boolean
Dim CheckArrStart() As String = ({"http://www.", "https://www.", "www."})
Dim CheckArrEnd() As String = ({".se", ".nl", ".com", ".cu", ".tk"})
Dim Ok As Integer = 0
For Each LinkStart As String In CheckArrStart
If Link.Contains(LinkStart) Then
Link = Replace(Link, LinkStart, "")
Ok = Ok + 1
For Each LinkEnd As String In CheckArrEnd
If Link.Contains(LinkEnd) Then
Link = Replace(Link, LinkEnd, "")
Ok = Ok + 1
Exit For
End If
Next
Exit For
End If
Next
If Ok = 2 And Link.Count > 2 Then
Return True
Else
Return False
End If
End Function