FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Bueno hice un pequeño cambio al final del código para obtener el error:
al enviar el archivo me arroja el siguiente error: "HTTP/1.1 400 Bad Request" ¿Será por el hecho que me falta el token? o ¿puede estar faltándome algo más? Cualquier idea se agradecerá |
#2
|
||||
|
||||
Nunca he usado el IdHTTP de Indy, pero sí Synapse, y también he enviado todo tipo de documentos con PHP. A ver si te puedo echar una mano:
Efectivamente, las cabeceras deben enviarse antes que el documento, supongo que Indy ya se encarga de eso mediante la propiedad CustomHeaders. De todas formas, revisa que estás definiéndolas correctamente, ya que si no puede haber problemas a la hora de interpretarlas. Por otro lado, el archivo que construyes en el "memo" no es XML. Es decir, todo lo que pones en ese código tiene pinta de ser la cabecera TCP/IP, HTTP, o del protocolo que sea, pero no es XML. Respecto a las huellas o cookies, ¿no tiene IdHTTP métodos para gestionarlos? Lo digo porque es más cómodo que andar trapicheando con las cabeceras. Respecto al error 400 que recibes, ¿quién te lo muestra, el servidor o el cliente? ¿Estás seguro de que las URLs están bien construidas y que los servicios funcionan correctamente? |
#3
|
|||
|
|||
hola Ñuño, gracias por responder,
La verdad es que yo estoy recién empezando a usar el componente IdHTTP y la verdad que no es mucha o derechamente casi nula la ayuda que existe en cuanto usarlo como cliente, mas bien toda la ayuda que he visto es respecto a usarlo como servidor, así es que estoy a tumbos aprendiendo. Lo que hago para ingresar los datos en la cabecera, es ingresar directamente en las propiedades del componente, los datos que allí aparecen, es decir por ejemplo: IdHTTP1.Request.AcceptLanguage:= 'es-cl'; IdHTTP1.Request.ContentType:= 'multipart/form-data: boundary='+'---------------------------7d23e2a11301c4'; IdHTTP1.Request.AcceptEncoding:= 'gzip, deflate'; no ingreso todo a traves de la propiedad cumtomheaders (no sé si habrá que ingresar toda la cabecera por ahí o como lo estaba haciendo yo basta). En cuanto a cookie, la verdad no he visto que este componente tenga por donde ingresarlo. Y en cuanto al error, los servicios están constantemente abiertos y no sé si es el servidor o el cliente quien me lo arroja. |
#4
|
||||
|
||||
Hace mucho que no trasteo con las Indy pero viendo sus propiedades y métodos yo indagaría los siguientes:
Esta es la modalidad del método Post que te permite mandar datos con múltiples partes (el XML iría como una de esas partes) La clase TIdMultiPartFormDataStream parece ser la que te permite adjuntar el XML con su método AddFile. También, la propiedad CookieManager del IdHttp parece ser la que te permitirá enviar la cookie que requieres. // Saludos |
#5
|
|||
|
|||
Muchas gracias Roman.
voy a probar y les cuento. |
#6
|
|||
|
|||
Ñuño, ¿tienes algún ejemplo de cómo hacer esto con Synapse?
|
#7
|
||||
|
||||
Normalmente dejo que sea el propio Synapse que se encargue del trabajo sucio, ya que él mismo incluye clases que implementan los protocolos más comunes (FTP, SMTP, POP3, HTTP...).
Intentaré describir tu caso (más o menos y de memoria): Seguramente tengas que afinar alguna cosa, pero más o menos sería así. Dudo que tengas que usar la propiedad "Headers". |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Dudas sobre Webservices Soap y Indy | XaviQ | OOP | 6 | 30-03-2011 07:12:18 |
Error Unknown Protocol componente IdHTTP de Indy | Bertifox2008 | Internet | 0 | 17-04-2009 01:10:24 |
WebBrowser con Indy idhttp | sur-se | Internet | 2 | 10-10-2008 11:36:31 |
Problemas y dudas enviando comandos al servidor FTP con Indy | Gromeer | Internet | 8 | 01-02-2008 23:27:04 |
Indy IdHTTP Ejemplo | andre | Internet | 1 | 11-02-2004 09:06:31 |
|