Comunidad de diseño web y desarrollo en internet online

Validar servicio REST con user y password en Apache

Citar            
MensajeEscrito el 18 Oct 2013 09:35 am
Hola, estoy intentando validar un servicio REST y el cliente me pasa una url un user y un password. La url es del tipo "http:www.holamundo.com/api/session". Lo que he hecho es almacenar las variables en una sola variable de la menera como explican en la página de adobe:

Adobe REST-style web service requests

Código ActionScript :

function enviar(){
   var url:String = "http:www.holamundo.com/api/session";
   var enviar:URLRequest = new URLRequest(url);
   var recibir:URLLoader = new URLLoader();
   var variables:URLVariables = new URLVariables();
   variables.user = "miUser";
   variables.password = "miPass";

   enviar.method = URLRequestMethod.GET;
   enviar.data = variables;
   recibir.dataFormat = URLLoaderDataFormat.TEXT;
        recibir.addEventListener(Event.COMPLETE,Respuesta);
   recibir.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
   recibir.addEventListener(IOErrorEvent.IO_ERROR,HayError);
   recibir.addEventListener(SecurityErrorEvent.SECURITY_ERROR, httpRequestError ); 
   recibir.load(enviar);

   function Respuesta(event:Event){
       trace(event.target.data);
   }
   function HayError(event:IOErrorEvent):void {
         trace("ioErrorHandler: " + event.text);
   }
   function httpRequestError(event:IOErrorEvent):void {
         trace("securityErrorHandler:" + event.text);
   }
   function httpStatusHandler(event:HTTPStatusEvent):void{
          trace("httpStatusHandler:" + event.status);
   }
}


Si trazo la variable que contiene el user y el password me sale:

password=miPass&user=miUser'

Pero me da errores:
Error al abrir la URL 'http:www.holamundo.com/api/session?password=miPass&user=miUser'
httpStatusHandler:401
ioErrorHandler: Error #2032: Error de secuencia. URL: http:www.holamundo.com/api/session?password=miPass&user=miUser

cuando me tendría que devolver un ("auth_token": "miNumerodetoken")

Ya he probado con los métodos get y Post.
¿Lo estoy haciendo de manera correcta o este no es el método para validar el servicio?

Gracias.

Por plug

78 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Oct 2013 07:08 pm
EL servicio tiene que tener una documentación y allí hallarás la respuesta. Si el error es consistente, deberías pegar en la barra de direcciones de tu browser la URL http:www.holamundo.com/api/session?password=miPass&user=miUser y te debería dar el mismo error

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Oct 2013 09:06 am
Al final he coseguido solucionarlo. Lo escribo aquí por si alguien más lo necesita. Lo primero que he hecho ha sido bajarme la librería de clases HTTPClient, HTTP client en GitHub. Y aquí hay ejemplos para utilizarla, Ejemplos en google code, Como a mi se me pedía utilizar el método POST para enviar los datos, es el que utilicé, con lo que mi código quedó de la siguiente manera:

Código ActionScript :

import org.httpclient.*;
import org.httpclient.http.*;
import org.httpclient.events.*;
//la url para conectar con un servidor apache, debe tener esta estructura:User:Pass @ y la url a la que va a apuntar.
var baseUrl:String = "http://User:Pass@Url";
var user_txt:String;
var pass_txt:String;

user_txt = "miEmail";
pass_txt = "miPass";

function URLRequestHeaderExample(){
   var client:HttpClient = new HttpClient();
   var uri:URI = new URI(baseUrl);
   var variables:Array = [{name:"email", value:user_txt}, {name:"password", value:pass_txt}];
 
   client.listener.onData = function (event:HttpDataEvent) :void {
       var stringData:String = event.readUTFBytes();
       trace(stringData);
   }
   client.postFormData(uri, variables);
}


Con esto el servidor me devuelve correctamente mi token.

Un saludo.

Por plug

78 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.