Exemple #1
0
        public async Task EtpClient_OpenSession_Can_Authenticate_Using_Json_Web_Token()
        {
            var    headers        = Authorization.Basic(TestSettings.Username, TestSettings.Password);
            var    etpSubProtocol = TestSettings.EtpSubProtocol;
            string token;

            using (var client = new System.Net.WebClient())
            {
                foreach (var header in headers)
                {
                    client.Headers[header.Key] = header.Value;
                }

                var response = await client.UploadStringTaskAsync(TestSettings.AuthTokenUrl, "grant_type=password");

                var json = JObject.Parse(response);

                token = json["access_token"].Value <string>();
            }

            _client.Dispose();
            _client = CreateClient(TestSettings.WebSocketType, etpSubProtocol, _server.Uri.ToWebSocketUri().ToString(), Authorization.Bearer(token));

            var onOpenSession = HandleAsync <OpenSession>(x => _client.Handler <ICoreClient>().OnOpenSession += x);

            var opened = await _client.OpenAsyncWithTimeout();

            Assert.IsTrue(opened, "EtpClient connection not opened");

            var args = await onOpenSession.WaitAsync();

            Assert.IsNotNull(args);
            Assert.IsNotNull(args.Message);
            Assert.IsNotNull(args.Message.SessionId);
        }
Exemple #2
0
        public async Task EtpClient_v11_OpenSession_Can_Authenticate_Using_Json_Web_Token()
        {
            var    authorization  = Authorization.Basic(TestSettings.Username, TestSettings.Password);
            var    etpSubProtocol = EtpVersion.v11;
            string token;

            using (var client = new System.Net.WebClient())
            {
                client.Headers.SetAuthorization(authorization);

                var response = await client.UploadStringTaskAsync(TestSettings.AuthTokenUrl, "grant_type=password");

                var json = JObject.Parse(response);

                token = json["access_token"].Value <string>();
            }

            _client.Dispose();
            _client = CreateClient(TestSettings.WebSocketType, etpSubProtocol, _server.Uri.ToWebSocketUri().ToString(), Authorization.Bearer(token));

            var onSessionOpened = HandleAsync <SessionOpenedEventArgs>(x => _client.SessionOpened += x);

            var opened = await _client.OpenAsyncWithTimeout();

            Assert.IsTrue(opened, "EtpClient connection not opened");

            var args = await onSessionOpened.WaitAsync();

            Assert.IsNotNull(args);
            Assert.IsNotNull(args.OpenedSuccessfully);
            Assert.AreNotEqual(default(Guid), _client.SessionId);
        }
Exemple #3
0
        public Task <string> PostMessageAsync(string address, string message)
        {
            if (disposed)
            {
                throw new ObjectDisposedException("WebClient", DisposedErrorMessage);
            }

            return(webClient.UploadStringTaskAsync(address, message));
        }
        public static async Task <Tuple <double, double> > GetLongLat(string key)
        {
            var data   = "{ \"considerIp\": \"true\" }";
            var wc     = new System.Net.WebClient();
            var result = await wc.UploadStringTaskAsync(new Uri("https://www.googleapis.com/geolocation/v1/geolocate?key=" + key), data);

            var parsed = JsonConvert.DeserializeObject <LatLongResult>(result);

            return(Tuple.Create(parsed.location.lat, parsed.location.lng));
        }
Exemple #5
0
        private static async Task <dynamic> PostDocument(Uri contentUri, string githubPAT, string document)
        {
            var wc = new System.Net.WebClient();

            wc.Headers.Add("User-agent", "uno-nv-sync");
            wc.Headers.Add("Authorization", $"token {githubPAT}");
            wc.Encoding = UTF8Encoding.UTF8;

            var result = await wc.UploadStringTaskAsync(contentUri, "POST", document);

            return(JsonConvert.DeserializeObject(result));
        }
Exemple #6
0
 public async Task <string> PostString(string url, string text, string[] headers = null)
 {
     using (var client = new System.Net.WebClient())
     {
         client.Headers.Add("user-agent: scbot/" + Version());
         if (headers != null)
         {
             foreach (var header in headers)
             {
                 client.Headers.Add(header);
             }
         }
         return(await client.UploadStringTaskAsync(url, text));
     }
 }
        /// <summary>
        /// 异步调用返回结果
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="uri"></param>
        /// <param name="datas"></param>
        /// <param name="method"></param>
        /// <param name="charset"></param>
        /// <returns></returns>
        public async System.Threading.Tasks.Task <T> WebRequestAsync <T>(Uri uri, IDictionary <string, object> datas = null, string method = "POST", string charset = "UTF8")
        {
            string data = this.CreateDataJson(datas);

            using (System.Net.WebClient webClient = new System.Net.WebClient())
            {
                //webClient.Encoding = (Encoding)Enum.Parse(typeof(Encoding), charset);
                webClient.Headers["Method"]       = method.ToString();
                webClient.Headers["Content-Type"] = string.Format(@"application/json;charset={0}", charset);
                string dwstring;
                if ("POST".Equals(method))
                {
                    dwstring = await webClient.UploadStringTaskAsync(uri, method, data);
                }
                else
                {
                    dwstring = await webClient.DownloadStringTaskAsync(uri);
                }
                return(JsonConvert.DeserializeObject <T>(dwstring));
            }
        }
 public override Task <string> PostAsync(Uri uri, string content)
 {
     return(InternalWebClient.UploadStringTaskAsync(uri, content));
 }