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.
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


0