none
Problemas con HttpWebRequest RRS feed

  • Pregunta

  • <!-- [if gte mso 10]> <mce:style>

    Hola.

     Estoy intentando conectarme a una pagina https con la clase httpwebrequest, para subir un fichero plano, pero solo unico que he conseguido es que reciba un statuscode 200 Ok. Pero en el servidor no ha recibido el fichero.  El codigo es el siguiente:

          'Escribir la cabecera del parametro en el tmpStream
          paramHeader = sb.ToString()
          paramHeaderBytes = Encoding.UTF8.GetBytes(paramHeader)
          tmpStream.Write(paramHeaderBytes, 0, paramHeaderBytes.Length)
          'Crear el string de límite final como matriz de bytes
          Dim limiteBytes As Byte() = Encoding.UTF8.GetBytes(paramHeader)
          ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(AddressOf ValidateCertificate)

          'Crear el objeto HttpWebRequest con la url de la pagina destino
          Dim HttpWRequest As HttpWebRequest = HttpWebRequest.Create(strURL)

          creds.UserName = USERNAME : creds.Password = PSSWD     HttpWRequest.Credentials = creds

          'Habilitar el buffer, no se envían los datos hasta la sentencia GetResponse()
          HttpWRequest.AllowWriteStreamBuffering = True
          HttpWRequest.Method = "POST"
          HttpWRequest.KeepAlive = True
          HttpWRequest.Timeout = 15000

          HttpWRequest.ContentType = "multipart/form-data; boundary=" & limite
          'asignar el largo del stream
          HttpWRequest.ContentLength = tmpStream.Length
          Dim stream As Stream = HttpWRequest.GetRequestStream()

          ReDim buffer(tmpStream.Length - 1)
          bytesRead = tmpStream.Read(buffer, 0, buffer.Length)
          While bytesRead <> 0
             stream.Write(buffer, 0, bytesRead)
             bytesRead = tmpStream.Read(buffer, 0, buffer.Length)
          End While
          ' 
          Dim Response As HttpWebResponse = Nothing
          Try
             Response = HttpWRequest.GetResponse()
          Catch ex As Exception
             Debug.Print(ex.Message)
          End Try
          Return Response

    Solo consiguo recibir un statuscode 200 pero no llega el fichero. Me han hecho la traza y dicen que el socket de java se levanta pero no recibe ningun dato y ya no se que hacer.

    gracias por su tiempo.

    sábado, 24 de abril de 2010 8:18