Foros del Web » Programación para mayores de 30 ;) » Programación General »

Componente ServerXMLHTTP para Delphi 7

Estas en el tema de Componente ServerXMLHTTP para Delphi 7 en el foro de Programación General en Foros del Web. Muy buenas forer@s !!! Mi gran duda y llevo un mes dándole al coco y a la MSDN para saber como funciona este componente -ServerXMLHTTP- ...
  #1 (permalink)  
Antiguo 03/03/2006, 07:37
Avatar de davidvamo  
Fecha de Ingreso: diciembre-2001
Ubicación: Barcelona '92
Mensajes: 106
Antigüedad: 22 años, 4 meses
Puntos: 0
Pregunta Componente ServerXMLHTTP para Delphi 7

Muy buenas forer@s !!!

Mi gran duda y llevo un mes dándole al coco y a la MSDN para saber como funciona este componente -ServerXMLHTTP- mi gran problema es como pasar parametros una pagina mediante POST !!!.

- FUNCIONAMIENTO DEL PROGRAMA -
Tengo que conectarme a una página de un servidor X con un usuario y una contraseña y enviar por post un texto xml, QUE TIENE OTRO USUARIO Y CONTRASEÑA) y me duelve el resultado de la consulta enviada.


- EJEMPLO (mi código) -

Código:
procedure TForm1.FormCreate(Sender: TObject);
var
  str: String;
  kk: String;
  ServerXMLHTTP: TServerXMLHTTP40;
begin
  Memo1.Clear;
  str := 'https://xxx.com/Tariff.asp';  <- sin las WWW -obligado-

// mensaje XML a enviar 
  kk := '<DS_REQUEST><COMMUNIC '+
        'ID_PARTNER="USUARIO2" PWD="CONTRASEÑA2" PN="11"/>'+
        '<CAR_SEARCH TM_ID="00017" MODEL_ID="" MODEL="XSARA"'+
        ' VERSION="1.9" NB_DOOR="5" FUEL="D" POWER=""/>'+
        '</DS_REQUEST>';

  ServerXMLHTTP:=TServerXMLHTTP40.Create(NIL);
  ServerXMLHTTP.ConnectKind:=ckRunningOrNew;
  ServerXMLHTTP.open('POST',str,False,'USUARIO1','CONTRASEÑA1');

  ServerXMLHTTP.setRequestHeader('WWW-Authenticate','Basic');
  ServerXMLHTTP.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

//////////////////////////////////////
  
   PASA DE MÍ , NO ME HACE CASO !!!!! 

  ServerXMLHTTP.send('xmlQuestion=' + kk);  <-- según MSDN así debería funcionar

/////////////////////////////////////

  if ServerXMLHTTP.status=200 Then
    Memo1.lines.Add(ServerXMLHTTP.responseText)
  else // ERROR
    Memo1.lines.Add('ERROR:' + ServerXMLHTTP.statusText + '  --  ' + IntToStr(ServerXMLHTTP.status));

  ServerXMLHTTP.Free;

{

¡¡¡¡ EJEMPLO MSDN QUE LOGICAMENTE NO ME FUNCIONA !!!! 
Y ES LO QUE QUIERO HACER, PERO EN DELPHI :'( 

Dim xmlHttp As MSXML2.ServerXMLHTTP50

Set xmlHttp = New MSXML2.ServerXMLHTTP50

URLString = "HTTPS://www.intercepteft.com/uploadach.icp"
SendString = "login=someuser&pass=somepass&filename=c:\somefile.ach"
xmlHttp.open "POST", URLstring
xmlHttp.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
xmlHttp.setRequestHeader "contenttype", "multipart/form-data"
xmlHttp.setRequestHeader "enctype", "multipart/form-data"
xmlHttp.setRequestHeader "postmode", "multipart form"
xmlHttp.send SendString
}
end;

OBSERVACIONES :

Tengo que enviar el texto por post porque tienen el firewall configurado a tamaño máximo 2k para consultas GET y claro yo envío más de 2k.

Si alguien sabe algo se lo agradeceré mucho.

MUCHAS GRACIAS !!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:47.