Peticion HTTP

07/03/2007 - 10:36 por ANT1 | Informe spam
Hola a todos.

Estoy trabajando en una aplicacion (mas bien un pequeño modulo para
una aplicacion) que se encargue de realizar una peticion HTTP de tipo
POST a un sevidor. Y la verdad todo esto es nuevo para mi.

Basicamente es un modulo para enviar mensajes sms a moviles mediante
un servidor que se encarga de ello.

He estado mirando un SDK que ofrece la compañia que da este servicio
de mensajeria y utilizan el ServerXMLHTTP, pero por lo que he visto
por internet hay que instalar modulo extra y demás y no me parece
interesante.

He estado mirando el WebCLiente y no se si me serviría para lo que
deseo. Por otro lado he visto el WebRequest que creo que si que me
serviría pero no se si es complicarse demasiado pudiendo usar el
WebClient.

Lo que tengo que hacer es basicamente:

1º Realizar la conexión con el servidor.
2º Enviar un string con lo que seria la petición.
3º Recibir un string que me indicaria el resultado de mi peticion.

¿Alguien puede orientarme un poco?

Preguntas similare

Leer las respuestas

#6 ANT1
07/03/2007 - 16:47 | Informe spam
Ya veo.

He estado indagando por ahi y he encontrado un ejemplo que comenta lo
mismo del streamwriter... En cuanto tenga acceso al servidor y pueda
hacer pruebas vere a ver que consigo.

Como siempre eres una gran ayuda.

Gracias Alberto.
Respuesta Responder a este mensaje
#7 ANT1
09/03/2007 - 13:39 | Informe spam
He probado este codigo:

HttpWebRequest req = WebRequest.Create("https://
www.servidor.com") as HttpWebRequest;
req.Method = "POST";
req.ContentType = "aplication/x-www-form-urlencoded";

StreamWriter pasaparametros = new
StreamWriter(req.GetRequestStream());

pasaparametros.Write("usuario=usuario&clave=clave&nserie=serie&version010000&operacion"0");
pasaparametros.Close();

StreamReader lector = new
StreamReader(req.GetResponse().GetResponseStream());
string respuesta = lector.ReadToEnd();
lector.Close();

La respuesta que recivo del servidor es que he pasado los paremetros
mal. No debo de estar enviandolo de la forma correcta.

El string que paso como parementros (usuatio...) es el mismo que el
del string ejemplo que dan. ¿Alguien sabe que puedo estar haciendo mal?
Respuesta Responder a este mensaje
#8 ANT1
12/03/2007 - 12:42 | Informe spam
Gracias Francesc.

Lo probare a ver si asi funciona.

Lo malo es que hoy por la mañana, sin modificar codigo alguno, al
tratar de volver a probar el codigo que antes se conectaba
correctamente con el servidor, el cual me devolvia su propio mensaje
de "error de sintaxis", ahora al hacerle una peticion me salta una
excepcion diciendome "The remote server returned an error: (500)
Internal Server Error.", vamos que no me devuelve ya ni el error de
sintaxis. Y eso q a primera hora de la mañana seguiamos si que lo
hacia.

Estoy tratando de ponerme en contacto con el proveedor a ver si es un
problema de ellos con el servidor, ya que aqui otras aplicaciones via
web si que me funcionan, pero no hay manera.

En cuanto pueda volver a trabajar con ello pruebo tus consejos y ya te
comento.

Saludos.
Respuesta Responder a este mensaje
#9 ANT1
14/03/2007 - 10:04 | Informe spam
Hola Francesc.

He estado probando lo que me comentaste para enviar las peticiones
HTTP, pero siguen sin funcionar.

Me he puesto en contacto con el servicio tecnico del servidor con el
que tengo que trabajar y me comentan que su servidor al no ser
microsoft no funciona con el http 1.1. Por eso me recomendaron que
usara 1.0 con:

req.ProtocolVersion = HttpVersion.Version10;

Pero sigue sin funcionar.

Me han manado un mail preguntandome si podia eliminar el
comportamiento de mi app enviando la peticion en un unico paso, pero
si no me confundo es lo que estoy haciendo.

¿Podrias ayudarme en esto?

Gracias.

Un saludo.
Respuesta Responder a este mensaje
#10 ANT1
14/03/2007 - 16:45 | Informe spam
Ni te molestes Francesc.

Descubri el error. En

req.ContentType = "aplication/x-www-form-urlencoded";

Estaba poniendo "application" con una sola 'p', y por eso fallaba todo
el rato. He tenid que interceptar distintos envios, unos que
funcionaba desde web y otros que no desde mi app para ver esa
diferencia.

Un saludo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida