Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/08/2010, 19:50
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Como pasar parametros en web php a servidor .NET?

La forma más simple es interactuar con el script de PHP por medio de objetos de la clase WebRequest, enviando los parámetros y recibiendo las respuestas en formato XML.

Aquí tienes un ejemplo tomado de Posting web request to PHP through server side code:
Código vb.net:
Ver original
  1. Protected Sub loginbtn_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles loginbtn.Click
  2.         Dim request As WebRequest = WebRequest.Create("http://localhost/members/login.php")
  3.         request.Method = "POST"
  4.         request.ContentType = "application/x-www-form-urlencoded"
  5.  
  6.         Dim postdata As String = "username=testuser&password=testpassword"
  7.         request.ContentLength = postdata.Length
  8.  
  9.         Dim writer As New StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII)
  10.         writer.Write(postdata)
  11.         writer.Close()
  12.  
  13.     End Sub

Yo uso bastantes códigos parecidos a este par interactuar con un servidor que no me da soporte para .Net 1.1, que necesito por requerimientos de cliente. Como el host sólo tiene PHP o .Net 2.0, el único camino que me quedó fue programar de este modo.

Algo como esto permite recuperar el XML generado desde PHP:
Código vb.net:
Ver original
  1. Private Function GetXMLResponse(ByRef req As WebRequest) As String
  2.  
  3.         ' Crear un objeto WebResponse de la página PHP
  4.         Dim rs As WebResponse = req.GetResponse()
  5.  
  6.         ' Crear un Stream para capturar la respuesta
  7.         Dim sr As Stream = rs.GetResponseStream()
  8.  
  9.         ' Crear un StreamReader para convertir el Stream a texto
  10.         Dim xr As StreamReader = New StreamReader(sr)
  11.  
  12.         'Devolver la respuesta como texto
  13.         Return xr.ReadToEnd()
  14.     End Function
Luego simplemente:
Código vb.net:
Ver original
  1. ' Leer como XML el XMLString y poblar la tabla
  2.         Dim sr As New StringReader(oWB.XMLResponse)
  3.         Try
  4.             DSet.ReadXml(sr, XmlReadMode.IgnoreSchema)
  5.         Catch ex As Exception
  6.             DSet = New DataSet
  7.         End Try
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 24/08/2010 a las 19:56