ASP.NET - Ejemplo de envío de datos con HttpWebRequest

   
Vista:

Ejemplo de envío de datos con HttpWebRequest

Publicado por Annihilus (1 intervención) el 24/04/2009 12:26:32
Buenas.
Tengo un problema.
He creado una página de validación contra Active Directory, y ahora me piden que envíe datos a otra aplicación en otro server, me han dicho que lo haga con en el POST.

El caso es que he buscado información y no tengo ni idea de como hacerlo, casi todos los ejemplos parten de un nivel muy alto para mi.

Entiendo que usando las clases HttpWebRequest y HttpWebResponse en algún momento debo enviar los datos.

Una vez que el usuario se valida qué tengo que hacer para enviar a la otra aplicación el nombre y password del usuario.

He visto el siguiente código

System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
string PostData = "User=" + User + "&Password=" + Password;
byte[] Data = encoding.GetBytes( PostData );

// Prepare web request...
HttpWebRequest MyRequest = (HttpWebRequest) WebRequest.Create("http://localhost/UserAuthentication/Default.aspx");
MyRequest.Method = "POST";
MyRequest.ContentType="application/x-www-form-urlencoded";
MyRequest.ContentLength = Data.Length;
Stream NewStream = MyRequest.GetRequestStream();
// Send the data.
NewStream.Write ( Data, 0, Data.Length );
NewStream.Close ();

pero no sé donde meterlo o como se mandan los datos, si es que se mandan de alguna forma.

Para empezar HttpWebRequest MyRequest = (HttpWebRequest) WebRequest.Create("http://localhost/UserAuthentication/Default.aspx");
¿esa URL se supone que tiene que ser de la página a la que envío? ¿o es la url de mi web o de un recurso?

Segundo, ¿el código está bien?, he visto por ahí que algunos continúan el código creando de una forma similar a esta
HttpWebResponse objResponse =
(HttpWebResponse)objRequest.GetResponse();
using (StreamReader sr = new
StreamReader(objResponse.GetResponseStream()) )
{
// hacer algo...

pero no comprendo porque dado que ninguno lo explica. Me vendría bien un ejemplo, en este caso el código que tiene que estar en mi página para enviar la información, donde debo meterlo y cuando debo llamar al método.
Tampoco me vendría mal ver el código que debe estar en la web que recibe los datos, como los pilla, etc... para al menos hacer una simulación con una web propia a ver como funciona.

Bueno, un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ejemplo de envío de datos con HttpWebRequest

Publicado por JAP77 (1 intervención) el 19/05/2009 11:18:52
Hola,

Este ejemplo gial te puede servir de ejemplo

'Method 3: WebRequest/WebResponse
Dim Request As Net.WebRequest = Net.WebRequest.Create("http://localhost/PruebaNET.asp")
Request.Method = "POST"
Request.ContentType = "application/x-www-form-urlencoded"
Dim RequsetStream As IO.Stream = Request.GetRequestStream()
Dim ASCIIEncoding As New System.Text.ASCIIEncoding
Dim PostData As Byte() = ASCIIEncoding.GetBytes("Account=CuentaUsuario&Password=ClaveUsuario")
RequsetStream.Write(PostData, 0, PostData.Length)
RequsetStream.Close()

Dim response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse)
Dim response2 As WebResponse = CType(Request.GetResponse(), HttpWebResponse)

Dim CodigoError As String = response.StatusCode
Dim DescripcionError As String = response.StatusDescription
Dim Reader As New IO.StreamReader(Request.GetResponse().GetResponseStream())
Dim ResultHTML As String = Reader.ReadToEnd()
response.Close()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejemplo de envío de datos con HttpWebRequest

Publicado por sarai (1 intervención) el 03/06/2014 07:12:34
hola me parece bueno tu ejemplo, pero no me regresa respuesta mi servidor, ademas me gustaría saber como leer esos datos que envió. que código pongo para leer la información recibida. se los agradecería mucho, es de gran utilidad para mi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar