Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Error conexión a sitio https vía WebRequest (VS2005)

687 views
Skip to first unread message

José Mª Fueyo

unread,
Mar 23, 2010, 12:39:30 PM3/23/10
to
Hola a todos
Estoy intentando crear una pequeña aplicación para pruebas, que se
conecta a un sitio https y recupera el contenido del mismo en un
cuadro de texto multilinea.
El asuto es me sale un error: Error en el servidor remoto: (407) Se
requiere autorización del proxy.
Utilizo el siguiente código (sacado de la ayuda de VS2005)
<Pego>
Dim MiURI As Uri = New Uri("https://MiURL")
Me.txtValor.Text = String.Empty

Dim MiCredentialCache As New CredentialCache()
Dim MiCredencial As NetworkCredential = New
NetworkCredential("id", "pw")
MiCredentialCache.Add(MiURI, "Basic", MiCredencial)

Dim request As WebRequest = WebRequest.Create(MiURI)

request.Credentials = MiCredentialCache

' Get the response.
Dim response As HttpWebResponse = CType(request.GetResponse(),
HttpWebResponse)'Aquí es donde me da error
</Pego>

Gracias

Salu2,
José Mª Fueyo

José Mª Fueyo

unread,
Mar 24, 2010, 8:07:22 AM3/24/10
to
Hola de nuevo
He conigurado el proxy que tengo en la empresa, pero aún así obtengo
error (Error en el servidor remoto: (401) No autorizado) a pesar de
haber pasado el usuario y contraseña correctos a una objeto
NetworkCredential

<Pego>
Dim MiURI As Uri = New Uri("https://MiURL")
Me.txtValor.Text = String.Empty

Try


Dim request As WebRequest = WebRequest.Create(MiURI)

Dim MiCredencial As NetworkCredential = New
NetworkCredential("Usuario", "Password")

request.Credentials = MiCredencial


'********************************************************
'Configuración del proxy
Dim pr As New System.Net.WebProxy("DireccionDelProxy",
8080)
pr.Credentials = CredentialCache.DefaultCredentials
request.Proxy = pr
'********************************************************

' Get the response.
Dim response As HttpWebResponse =
CType(request.GetResponse(), HttpWebResponse)

' Display the status.
Me.txtValor.Text = Me.txtValor.Text & vbCrLf &
response.StatusDescription
' Get the stream containing content returned by the
server.
Dim dataStream As Stream = 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.
Me.txtValor.Text = Me.txtValor.Text & responseFromServer
' Cleanup the streams and the response.
reader.Close()
dataStream.Close()
response.Close()

Catch ex As Exception
Debug.Print(ex.Message())
MessageBox.Show(ex.Message)
End Try
End Sub

José Mª Fueyo

unread,
Mar 24, 2010, 1:06:07 PM3/24/10
to
Solucionado.
Cambié las lineas de asignación de credenciales por las siguientes:

Dim myCache As New CredentialCache()
myCache.Add(MiURI, "Basic", _
New NetworkCredential("Usuario", "Password"))
request.Credentials = myCache

Salu2,
José Mª Fueyo

jacob...@gmail.com

unread,
May 4, 2014, 8:13:24 PM5/4/14
to
Hola José, me sirvió de mucho tu código, muchas gracias!

Cualquier cosa en la que te pueda ayudar a la orden

Jacobo.
0 new messages