Beispiel #1
0
        public ConnectionSettings Clone()
        {
            ConnectionSettings rc      = new ConnectionSettings(_forum);
            CookieCollection   cookies = CC.GetCookies(_forum);

            rc.CC.Add(cookies);
            return(rc);
        }
Beispiel #2
0
    private static StatusRequisicao realizaLogin(string ChaveACS, string loginACS, string senhaACS)
    {
        try
        {
            //Url de login no ACS.
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.cloud.appcelerator.com/v1/users/login.json?key=" + ChaveACS + "&pretty_json=true");
            //O método de login é POST de acordo a documentação da appcelerator.
            request.Method = "POST";
            //Seto o cookie container para manter o valor da sessão.
            request.CookieContainer = CC;
            //Serializo os dados do login em um json.
            ParansLogin info = new ParansLogin();
            info.login    = loginACS;
            info.password = senhaACS;
            string postData  = JsonConvert.SerializeObject(info);
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            // Seto o ContentType para json, já que os dados no POST estão no formato JSON.
            request.ContentType = "application/json";

            //Preparo os dados
            request.ContentLength = byteArray.Length;
            Stream dataStream = request.GetRequestStream();
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();

            //Obtenho a resposta da requisição
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            dataStream = default(Stream);
            dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            //Leio a resposta.
            string responseFromServer = reader.ReadToEnd();
            //Deserializo a resposta.
            rootACSResponseUsuario resposta = JsonConvert.DeserializeObject <rootACSResponseUsuario>(responseFromServer);
            var ccs = CC.GetCookies(new Uri("https://api.cloud.appcelerator.com"));
            //Fecho os streans.
            reader.Close();
            dataStream.Close();

            response.Close();

            //Retorno sucesso
            StatusRequisicao ret = new StatusRequisicao();
            ret.sucesso = true;
            return(ret);
        }
        catch (WebException ex)
        {
            StatusRequisicao ret = new StatusRequisicao();
            if (ex.Status == WebExceptionStatus.ProtocolError)
            {
                ret.sucesso  = false;
                ret.mensagem = "Erro de protocolo;Cod-1";
                return(ret);
            }
            else if (ex.Status == WebExceptionStatus.Timeout)
            {
                ret.sucesso  = false;
                ret.mensagem = "Time out;Cod-2";
                return(ret);
            }
            else
            {
                ret.sucesso  = false;
                ret.mensagem = "Desconhecido;Cod-3";
                return(ret);
            }
            throw;
        }
        catch (Exception e)
        {
            throw;
        }
    }