コード例 #1
0
        public async Task Login(string username, string password)
        {
            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = new Uri("https://api.robinhood.com/");
                var request = new HttpRequestMessage(HttpMethod.Post, "api-token-auth/");
                client.DefaultRequestHeaders.Add("Accept", "*/*");
                client.DefaultRequestHeaders.Add("Accept-Language", "en;q=1, fr;q=0.9, de;q=0.8, ja;q=0.7, nl;q=0.6, it;q=0.5");
                client.DefaultRequestHeaders.Add("X-Robinhood-API-Version", "1.0.0");
                client.DefaultRequestHeaders.Connection.Add("keep-alive");
                client.DefaultRequestHeaders.Add("User-Agent", "Robinhood/823 (iPhone; iOS 7.1.2; Scale/2.00)");

                List <KeyValuePair <string, string> > data = new List <KeyValuePair <string, string> >();
                data.Add(new KeyValuePair <string, string>("username", username));
                data.Add(new KeyValuePair <string, string>("password", password));

                request.Content = new FormUrlEncodedContent(data);
                HttpResponseMessage response = await client.SendAsync(request);

                string loginResponse = await response.Content.ReadAsStringAsync();

                try
                {
                    ApiTokenAuth auth = JsonConvert.DeserializeObject <ApiTokenAuth>(loginResponse);
                    token = auth.token;
                }
                catch
                {
                    throw new ConnectionException(loginResponse);
                }

                if (response.StatusCode != System.Net.HttpStatusCode.OK)
                {
                    throw new ConnectionException(loginResponse);
                }

                if (token != null)
                {
                    this.ConnectionEstablished(this, null);
                }
                else
                {
                    throw new ConnectionException(loginResponse);
                }
            }
        }
コード例 #2
0
        public async void Login(string username, string password)
        {
            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = new Uri("https://api.robinhood.com/");
                var request = new HttpRequestMessage(HttpMethod.Post, "api-token-auth/");
                client.DefaultRequestHeaders.Add("Accept", "*/*");
                client.DefaultRequestHeaders.Add("Accept-Language", "en;q=1, fr;q=0.9, de;q=0.8, ja;q=0.7, nl;q=0.6, it;q=0.5");
                client.DefaultRequestHeaders.Add("X-Robinhood-API-Version", "1.0.0");
                client.DefaultRequestHeaders.Connection.Add("keep-alive");
                client.DefaultRequestHeaders.Add("User-Agent", "Robinhood/823 (iPhone; iOS 7.1.2; Scale/2.00)");

                List <KeyValuePair <string, string> > data = new List <KeyValuePair <string, string> >();
                data.Add(new KeyValuePair <string, string>("username", username));
                data.Add(new KeyValuePair <string, string>("password", password));

                request.Content = new FormUrlEncodedContent(data);
                HttpResponseMessage response = await client.SendAsync(request);

                String responseContent = await response.Content.ReadAsStringAsync();


                try
                {
                    var jss = new JavaScriptSerializer();

                    ApiTokenAuth auth = jss.Deserialize <ApiTokenAuth>(responseContent);

                    token = auth.token;


                    Console.WriteLine(token);
                    lblStatus.Content = "Logged in!";
                }
                catch
                {
                    MessageBox.Show("Problem logging in: " + responseContent);
                }
            }
        }