public ConnectionSettings Clone() { ConnectionSettings rc = new ConnectionSettings(_forum); CookieCollection cookies = CC.GetCookies(_forum); rc.CC.Add(cookies); return(rc); }
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; } }