Beispiel #1
0
        private string Upload(string uri, string method, SortedList vars)
        {
            SortedList l = new SortedList();
            // 1. format body data

            string data = "";

            if (vars != null)
            {
                foreach (DictionaryEntry d in vars)
                {
                    authdata += d.Key.ToString() + HttpUtility.UrlEncode(d.Value.ToString()) + "&";
                    data     += d.Key.ToString() + "=" + HttpUtility.UrlEncode(d.Value.ToString()) + "&";
                }
            }

            // 2. setup basic authenication
            string authstring = Convert.ToBase64String(Encoding.ASCII.GetBytes(String.Format("{0}:{1}",
                                                                                             id, token)));

            // 3. perform POST/PUT/DELETE using WebClient
            ServicePointManager.Expect100Continue = false;
            Byte[]    postbytes = Encoding.ASCII.GetBytes(data);
            WebClient client    = new WebClient();

            client.Headers["X_agbara_SIGNATURE"] = authstring;
            client.Headers.Add("Authorization", String.Format("Basic {0}", authstring));
            client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");

            //byte[] resp = client.UploadData(uri, method, postbytes);
            byte[] resp = AsyncCtpExtensions.UploadDataTaskAsync(client, uri, method, postbytes).Result;
            return(Encoding.ASCII.GetString(resp));
        }
Beispiel #2
0
        private string Download(string uri, SortedList vars)
        {
            // 1. format query string
            if (vars != null)
            {
                string query = "";
                foreach (DictionaryEntry d in vars)
                {
                    authdata += d.Key.ToString() + HttpUtility.UrlEncode(d.Value.ToString()) + "&";
                    query    += "&" + d.Key.ToString() + "=" + HttpUtility.UrlEncode(d.Value.ToString());
                }
                if (query.Length > 0)
                {
                    uri = uri + "?" + query.Substring(1);
                }
            }

            // 2. setup basic authenication
            string authstring = Convert.ToBase64String(
                Encoding.ASCII.GetBytes(String.Format("{0}:{1}",
                                                      id, token)));

            //


            // 3. perform GET using WebClient
            WebClient client = new WebClient();

            client.Headers["X_agbara_SIGNATURE"] = authstring;
            client.Headers["Authorization"]      = String.Format("Basic {0}", authstring);
            //Uri ur = new Uri(uri);
            byte[] resp = AsyncCtpExtensions.DownloadDataTaskAsync(client, uri).Result;// client.DownloadData(ur);

            return(Encoding.ASCII.GetString(resp));
        }