Muchas veces necesitamos enviar algun mensaje via http. El problema surge si el mensaje contiene espacios. El método de envío recomendado es el método POST. A continuación os pongo el codigo:
//Crea el request con la url que le especifiquemos
HttpWebRequest HttpWRequest = (HttpWebRequest)WebRequest.Create(this.url);
//Importante poner los credenciales sino no podremos realizar bien el envio
//Si nuestro servidor tiene credenciales tendremos que añadirle password y
//contraseña. Para eelo utilizamos el siguiente codigo:
//
//NetworkCredential myCred=new NetworkCredential("usuario", "password");
//CredentialCache MyCrendentialCache = new CredentialCache();
//MyCrendentialCache.Add(URL, "Basic", myCred);
//HttpWRequest.Credentials = MyCrendentialCache;
HttpWRequest.Credentials = CredentialCache.DefaultCredentials;
HttpWRequest.UserAgent = "EJEMPLO";
HttpWRequest.KeepAlive = true;
HttpWRequest.Headers.Set("Pragma", "no-cache");
//Le hemos puesto un timeout de 5 min
HttpWRequest.Timeout = 300000;
// El metodo que usaremos es el POST
HttpWRequest.Method = "POST";
// add the content type so we can handle form data
HttpWRequest.ContentType = "application/x-www-form-urlencoded";
//Pasamos a bytes el mensaje.Recordar que tenemos que poner antes el nombre del id
//que apuntara al mensaje enviado. En este caso hemos escogido param1.
byte[] PostData = System.Text.Encoding.ASCII.GetBytes("param1="+m);
HttpWRequest.ContentLength = PostData.Length;
Stream tempStream = HttpWRequest.GetRequestStream();
//Escribimos los datos
tempStream.Write(PostData, 0, PostData.Length);
tempStream.Close();
Como veis el método es bastante sencillo.
Mostrando entradas con la etiqueta POST. Mostrar todas las entradas
Mostrando entradas con la etiqueta POST. Mostrar todas las entradas
miércoles, 21 de febrero de 2007
Suscribirse a:
Entradas (Atom)