Beispiel #1
0
        //Android3.0 以后已经不允许在主线程访问网络,报错android.os.NetworkOnMainThreadException
        //获取网页内容
        public async System.Threading.Tasks.Task <string> Get(string url)
        {
            //连接超时5秒
            //写入数据超时5秒
            //读取数据超时5秒
            client = new OkHttpClient.Builder()
                     .ConnectTimeout(5, TimeUnit.Seconds)
                     .WriteTimeout(5, TimeUnit.Seconds)
                     .ReadTimeout(5, TimeUnit.Seconds)
                     .Build();
            Request  request  = new Request.Builder().Url(url).Build();
            Response response = await client.NewCall(request).ExecuteAsync();

            if (response.Code() == 200)
            {
                //Toast.MakeText(this, "response.Code() == 200", ToastLength.Short).Show();
                var content = response.Body().String();

                return(content);
            }
            else
            {
                return("null");
            }
        }
        FileUploadResponse MakeRequest(string url, string tag, MultipartBuilder requestBodyBuilder, IDictionary <string, string> headers = null)
        {
            //RequestBody requestBody = requestBodyBuilder.Build();
            CountingRequestBody requestBody = new CountingRequestBody(requestBodyBuilder.Build(), tag, this);
            var requestBuilder = new Request.Builder();

            if (headers != null)
            {
                foreach (string key in headers.Keys)
                {
                    if (!string.IsNullOrEmpty(headers[key]))
                    {
                        requestBuilder = requestBuilder.AddHeader(key, headers[key]);
                    }
                }
            }

            Request request = requestBuilder
                              .Url(url)
                              .Post(requestBody)
                              .Build();

            OkHttpClient client = new OkHttpClient();

            client.SetConnectTimeout(ConnectUploadTimeout, UploadTimeoutUnit); // connect timeout
            client.SetReadTimeout(SocketUploadTimeout, UploadTimeoutUnit);     // socket timeout

            Response response       = client.NewCall(request).Execute();
            var      responseString = response.Body().String();
            var      code           = response.Code();

            IDictionary <string, string> responseHeaders = new Dictionary <string, string>();
            var rHeaders = response.Headers();

            if (rHeaders != null)
            {
                var names = rHeaders.Names();
                foreach (string name in names)
                {
                    if (!string.IsNullOrEmpty(rHeaders.Get(name)))
                    {
                        responseHeaders.Add(name, rHeaders.Get(name));
                    }
                }
            }

            FileUploadResponse fileUploadResponse = new FileUploadResponse(responseString, code, tag, new ReadOnlyDictionary <string, string>(responseHeaders));


            if (response.IsSuccessful)
            {
                FileUploadCompleted(this, fileUploadResponse);
            }
            else
            {
                FileUploadError(this, fileUploadResponse);
            }

            return(fileUploadResponse);
        }
Beispiel #3
0
        string LoadAWOkHttpClientAsync(string urlText)
        {
            Response response = null;

            try
            {
                OkHttpClient clientOrg = new OkHttpClient();
                OkHttpClient client    = AWOkHttpClient.CopyWithDefaults(clientOrg, new AllowAllTrustManager());
                Request      request   = new Request.Builder()
                                         .Url(urlText)
                                         .Build();

                response = client.NewCall(request).Execute();
                string responseCode = "Response Code: " + response.Code();
                return(responseCode);
            }
            catch (IOException e)
            {
                return("IO Exception during network request");
            }
            finally
            {
                if (response != null)
                {
                    response.Body().Close();
                }
            }
        }
Beispiel #4
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Login);
            // Create your application here

            handler          = new Handler(Looper.MainLooper);
            settings         = UserSettings.GetInstanceForApp(this);
            btLogin          = FindViewById <Button>(Resource.Id.button_login);
            etLogin          = FindViewById <EditText>(Resource.Id.editText_login);
            etPassword       = FindViewById <EditText>(Resource.Id.editText_password);
            chbxShowPassword = FindViewById <CheckBox>(Resource.Id.checkBox_showPassword);
            client           = new OkHttpClient();

            btLogin.Click += (s, e) => { Login(); };


            chbxShowPassword.CheckedChange += (s, e) =>
            {
                if (e.IsChecked)
                {
                    RunOnUiThread(() => etPassword.TransformationMethod = HideReturnsTransformationMethod.Instance);
                }
                else
                {
                    RunOnUiThread(() => etPassword.TransformationMethod = PasswordTransformationMethod.Instance);
                }
            };
        }
Beispiel #5
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            Button startTest = FindViewById<Button>(Resource.Id.startTest);
            ListView listView = FindViewById<ListView>(Resource.Id.listView);

            startTest.Click += delegate
            {
                ArrayAdapter<string> adapter = new ArrayAdapter<string>(
                    this,
                    Android.Resource.Layout.SimpleListItem1,
                    Android.Resource.Id.Text1);
                listView.Adapter = adapter;

                OkHttpClient client = new OkHttpClient();

                // Create request for remote resource.
                Request request = new Request.Builder()
                    .Url(Endpoint)
                    .Build();

                // Execute the request and retrieve the response.
                WebSocketCall call = WebSocketCall.Create(client, request);
                WebSocketListener listener = call.Enqueue();

                // attach handlers to the various events
                listener.Close += (sender, e) =>
                {
                    RunOnUiThread(() => adapter.Add(string.Format("{0}: {1}", e.Code, e.Reason)));
                };
                listener.Failure += (sender, e) =>
                {
                    if (e.Exception != null)
                        RunOnUiThread(() => adapter.Add(e.Exception.Message));
                    else
                        RunOnUiThread(() => adapter.Add("Unknown Error!"));
                };
                listener.Message += (sender, e) =>
                {
                    string payload = e.Payload.String();
                    e.Payload.Close();
					RunOnUiThread(() => adapter.Add(string.Format("{0}\n{1}", payload, e.Payload.ContentType())));
                };
                listener.Open += (sender, e) =>
                {
                    RunOnUiThread(() => adapter.Add("Opened Web Socket."));

                    StartMessages(e.WebSocket);
                };
                listener.Pong += (sender, e) =>
                {
                    string payload = e.Payload.ReadString(Charset.DefaultCharset());
                    e.Payload.Close();
                    RunOnUiThread(() => adapter.Add(payload));
                };
            };
        }
Beispiel #6
0
        public async Task <string> GetRequest(string url)
        {
            string result = null;

            var client = new OkHttpClient();

            try
            {
                var request = new Request.Builder()
                              .Url(url)
                              .Build();

                var response = await client.NewCall(request).ExecuteAsync();

                var body = response.Body().String();

                result = body;
            }
            catch (Exception ex)
            {
                _logService.LogException(ex);
            }

            return(result);
        }
        private void getWeather(double latitude, double longitude)
        {
            string apiKey = "32b0b275eea19d641b0069e91c91b50a";
            string apiUrl = "https://api.forecast.io/forecast/" + apiKey + "/" + latitude + "," + longitude;

            if (isNetworkAvailable())
            {
                RunOnUiThread(() => toggleRefresh());
                OkHttpClient client  = new OkHttpClient();
                Request      request = new Request.Builder().Url(apiUrl).Build();
                Call         call    = client.NewCall(request);
                call.Enqueue(response => {
                    RunOnUiThread(() => toggleRefresh());
                    var jsonData    = JObject.Parse(response.Body().String());
                    mCurrentWeather = getCurrentDetails(jsonData);
                    RunOnUiThread(() => updateDisplay());
                }, (req, exception) => {
                    ShowError();
                });
            }
            else
            {
                Toast.MakeText(this, "Network unavailable", ToastLength.Long).Show();
            }
        }
Beispiel #8
0
        public static void sendOkHttpRequests(string address, Okhttp3.ICallback callbck)
        {
            var client = new OkHttpClient();

            Okhttp3.Request requests = new Request.Builder().Url(address).Build();
            requests.Url();
            client.NewCall(requests).Enqueue(callbck);
        }
Beispiel #9
0
 public OkHttpClientUtil()
 {
     httpClient = new OkHttpClient.Builder()
                  .ConnectTimeout(5, TimeUnit.Seconds) //连接超时5秒
                  .WriteTimeout(5, TimeUnit.Seconds)   //写入数据超时5秒
                  .ReadTimeout(5, TimeUnit.Seconds)    //读取数据超时5秒
                  .Build();
 }
Beispiel #10
0
 public OkHttpUtils()
 {
     okHttpClient = new OkHttpClient();
     okHttpClient.SetConnectTimeout(10, TimeUnit.Seconds);
     okHttpClient.SetWriteTimeout(10, TimeUnit.Seconds);
     okHttpClient.SetReadTimeout(30, TimeUnit.Seconds);
     okHttpClient.SetCookieHandler(new CookieManager(null, CookiePolicy.AcceptOriginalServer));
 }
Beispiel #11
0
 public OkHttpUtils(AccessToken token)
 {
     okHttpClient = new OkHttpClient.Builder()
                    .ConnectTimeout(10, TimeUnit.Seconds)
                    .ReadTimeout(30, TimeUnit.Seconds)
                    .WriteTimeout(10, TimeUnit.Seconds)
                    .Authenticator(new UserAuthenticator(token))
                    .Build();
 }
        public OkHttpHandler()
        {
            var b = new OkHttpClient.Builder();

            b.ConnectTimeout(1, TimeUnit.Minutes).WriteTimeout(1, TimeUnit.Minutes).ReadTimeout(1, TimeUnit.Minutes);
            Square.OkHttp3.Cache cache = new Cache(new File(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/web-cache"), 100 * 1024 * 1024);
            b.Cache(cache);
            this.Client     = b.Build();
            this.UseCookies = false;
        }
 public OkHttpClient InitOkHttpClient()
 {
     if (client == null)
     {
         client = new OkHttpClient.Builder().ReadTimeout(10000, TimeUnit.Milliseconds) // Set the read timeout.
                  .ConnectTimeout(10000, TimeUnit.Milliseconds)                        // Set the connect timeout.
                  .Build();
     }
     return(client);
 }
Beispiel #14
0
        public static void CreateRequest()
        {
            OkHttpClient okHttpClient = new OkHttpClient();
            Request      request      = new Request.Builder()
                                        .Url(URL)
                                        .Post(RequestBody.Create(Square.OkHttp3.MediaType.Parse("text/x-markdown; charset=utf-8"), REQUESTBODY))
                                        .Build();

            OkHttp3Instrumentation.newCall(okHttpClient, request).Enqueue(new OnresponseOkHttpClient());
        }
 public override void OnCreate(Bundle savedInstanceState)
 {
     base.OnCreate(savedInstanceState);
     SetStyle((int)DialogFragmentStyle.Normal, Resource.Style.ShootDialog);
     webclient = new OkHttpClient.Builder()
                 .Cache((Activity.Application as BootleggerApp).FilesCache)
                 .Build();
     httpDataSourceFactory            = new OkHttpDataSourceFactory(webclient, "BootleggerEditor");
     extractorsFactory                = new DefaultExtractorsFactory();
     _audioPlayer                     = ExoPlayerFactory.NewSimpleInstance(Context, new DefaultTrackSelector());
     _audioPlayer.RenderedFirstFrame += _audioPlayer_RenderedFirstFrame;
 }
Beispiel #16
0
        public void doTheThing(Action <List <Character> > characters)
        {
            try{
                MD5      md5         = System.Security.Cryptography.MD5.Create();
                DateTime Jan1st1970  = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                var      timeStamp   = (long)((DateTime.UtcNow - Jan1st1970).TotalMilliseconds);
                string   api_key     = "insert public key hear";
                string   private_key = "insert private key here";
                byte[]   inputBytes  = System.Text.Encoding.ASCII.GetBytes(timeStamp
                                                                           + private_key
                                                                           + api_key);


                byte[] hash = md5.ComputeHash(inputBytes);

                // step 2, convert byte array to hex string

                StringBuilder sb = new StringBuilder();

                for (int i = 0; i < hash.Length; i++)

                {
                    sb.Append(hash[i].ToString("X2"));
                }
                var thing = sb.ToString().ToLower();
                ;
                var url =
                    new URL("https://gateway.marvel.com:443/v1/public/characters?apikey=550bdabffb29d3cc2bf6813a68021ee4&hash=" + thing + "&ts=" + timeStamp + "&limit=10");//+ "&format=json");
                //var uriBuilder = new UriBuilder();
                //uriBuilder.Scheme = "https";
                //uriBuilder.Host = "gateway.marvel.com";
                //uriBuilder.Path = "v1/public/characters";
                //uriBuilder.Query = "apikey=550bdabffb29d3cc2bf6813a68021ee4";
                //uriBuilder.
                OkHttpClient client  = new OkHttpClient();
                Request      request =
                    new Request
                    .Builder()
                    .Url(url)
                    .Build();
                Response response = client.NewCall(request).Execute();

                var body = response.Body().String().Replace('\"', '"');

                var x      = Newtonsoft.Json.JsonConvert.DeserializeObject <RootObject>(body);
                var things = x.data.results;
                characters(things);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
        private OkHttpClient GetSafeOkHttpClient()
        {
            OkHttpClient okHttpClient = new OkHttpClient();

            if (customSSLVerification)
            {
                okHttpClient.SetHostnameVerifier(new HostnameVerifier());
            }

            okHttpClient.SetSslSocketFactory(new ImprovedSSLSocketFactory());

            return(okHttpClient);
        }
Beispiel #18
0
        public async Task <Tuple <Boolean, String> > ResolveClusterUrlAsync(String clusterUrl)
        {
            OkHttpClient client  = new OkHttpClient();
            Request      request = new Request.Builder()
                                   .Url(clusterUrl)
                                   .Build();

            Response response = await client.NewCall(request).ExecuteAsync();

            String server = await response.Body().StringAsync();

            return(new Tuple <bool, String>(response.IsSuccessful, server));
        }
        private OkHttpClient GetUnsafeOkHttpClient()
        {
            ITrustManager[] trustAllCerts = new ITrustManager[] { new X509TrustManager() };
            SSLContext      sslContext    = SSLContext.GetInstance("SSL");

            sslContext.Init(null, trustAllCerts, null);
            SSLSocketFactory sslSocketFactory = sslContext.SocketFactory;
            OkHttpClient     okHttpClient     = new OkHttpClient();

            okHttpClient.SetSslSocketFactory(sslSocketFactory);
            okHttpClient.SetHostnameVerifier(new UnsafeHostnameVerifier());

            return(okHttpClient);
        }
Beispiel #20
0
        public NativeMessageHandler(bool throwOnCaptiveNetwork, CustomSSLVerification customSSLVerification, NativeCookieHandler cookieHandler = null)
        {
            this.throwOnCaptiveNetwork = throwOnCaptiveNetwork;

            var clientBuilder = client.NewBuilder();

            var specsBuilder = new ConnectionSpec.Builder(ConnectionSpec.ModernTls).TlsVersions(TlsVersion.Tls12);
            var specs        = specsBuilder.Build();

            clientBuilder.ConnectionSpecs(new List <ConnectionSpec>()
            {
                specs
            });
            clientBuilder.Protocols(new[] { Protocol.Http11 }); // Required to avoid stream was reset: PROTOCOL_ERROR

            clientBuilder.HostnameVerifier(new HostnameVerifier(customSSLVerification.Pins));

            this.CertificatePinnerBuilder = new CertificatePinner.Builder();

            // Add Certificate Pins
            foreach (var pin in customSSLVerification.Pins)
            {
                this.CertificatePinnerBuilder.Add(pin.Hostname, pin.PublicKeys);
            }

            clientBuilder.CertificatePinner(CertificatePinnerBuilder.Build());

            // Set client credentials
            SetClientCertificate(customSSLVerification.ClientCertificate);

            // Set SslSocketFactory
            if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop)
            {
                // Support TLS1.2 on Android versions before Lollipop
                clientBuilder.SslSocketFactory(new TlsSslSocketFactory(KeyManagers, null), TlsSslSocketFactory.GetSystemDefaultTrustManager());
            }
            else
            {
                var sslContext = SSLContext.GetInstance("TLS");
                sslContext.Init(KeyManagers, null, null);
                clientBuilder.SslSocketFactory(sslContext.SocketFactory, TlsSslSocketFactory.GetSystemDefaultTrustManager());
            }

            if (cookieHandler != null)
            {
                clientBuilder.CookieJar(cookieHandler);
            }

            client = clientBuilder.Build();
        }
Beispiel #21
0
        public Communicator()
        {
            trustAllSslContext = SSLContext.GetInstance("SSL");
            trustAllSslContext.Init(null, new ITrustManager[] { new CustomX509TrustManager() }, new SecureRandom());

            client = new OkHttpClient();
            client.SetConnectTimeout(5, Java.Util.Concurrent.TimeUnit.Seconds);
            client.SetSslSocketFactory(trustAllSslContext.SocketFactory);
            client.SetHostnameVerifier(new CustomHostNameVerifier());
            client.SetProtocols(new Protocol[] { Protocol.Http11 });

            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().PermitAll().Build();
            StrictMode.SetThreadPolicy(policy);
        }
        public void RebuildClient(Action <OkHttpClient.Builder> customBuild)
        {
            if (client != null)
            {
                // This should finish out any in flight requests
                client.Dispatcher().ExecutorService().Shutdown();
                client = null;
            }

            var builder = new OkHttpClient.Builder();

            CommonClientBuilder(builder);
            customBuild?.Invoke(builder);
            client = builder.Build();
        }
Beispiel #23
0
        private async void MakeHttpCall()
        {
#if __ANDROID__
            var client      = new OkHttpClient();
            var requestBody = RequestBody.Create(
                MediaType.Parse("application/json"),
                "{\"title\":\"foo\",\"body\": \"bar\", \"userId\":\"1\", \"id\":\"1\"}");
            var request = new Request.Builder()
                          .Url("https://jsonplaceholder.typicode.com/posts")
                          .Post(requestBody)
                          .Build();

            var response = await client.NewCall(request).ExecuteAsync();
#endif
        }
Beispiel #24
0
        /// <summary>
        /// Provides an OkHttpClient that is set up with the requested
        /// socket factory and hostname provider (if any).
        /// </summary>
        public static OkHttpClient GetHttpClient()
        {
            SetupDangerous();
            // create a new client
            var client = new OkHttpClient();

            // add the socket factory
            client.SetSslSocketFactory(socketFactory);
            // make sure we use the hostname verifier
            if (hostnameVerifier != null)
            {
                client.SetHostnameVerifier(hostnameVerifier);
            }
            return(client);
        }
        private async Task <HttpResponseMessage> HttpGet(string url)
        {
            var client = new OkHttpClient();

            client.SetHostnameVerifier(new HostnameVerifier());
            client.SetSslSocketFactory(GetSocketFactory());

            var builder = new Request.Builder()
                          .Method("GET", null)
                          .Url(url)
                          .CacheControl(new CacheControl.Builder().NoCache().Build())
                          .AddHeader("User-Agent", "Test/1.0");

            var rq   = builder.Build();
            var call = client.NewCall(rq);

            System.Diagnostics.Debug.WriteLine("Sending Call...");

            var resp = await call.EnqueueAsync().ConfigureAwait(false);

            System.Diagnostics.Debug.WriteLine("Got response");

            var respBody = resp.Body();

            var ret = new HttpResponseMessage((HttpStatusCode)resp.Code());

            ret.ReasonPhrase = resp.Message();
            if (respBody != null)
            {
                ret.Content = new StreamContent(respBody.ByteStream());
            }
            else
            {
                ret.Content = new ByteArrayContent(new byte[0]);
            }

            var respHeaders = resp.Headers();

            foreach (var k in respHeaders.Names())
            {
                ret.Headers.TryAddWithoutValidation(k, respHeaders.Get(k));
                ret.Content.Headers.TryAddWithoutValidation(k, respHeaders.Get(k));
            }

            return(ret);
        }
Beispiel #26
0
        public override void OnCreate()
        {
            base.OnCreate();

            userId = JwtHelper.GetAspNetUserId(UserSettings.Token);

            dbWriter = new SignalsDBWriter(this);
            timer    = new Timer
            {
                Interval = 30000,
                Enabled  = true
            };

            timer.Elapsed += (s, e) =>
            {
                Logger.Info("trying to sent telemetry...");

                var type      = MediaType.Parse("application/json; charset=utf-8");
                var telemetry = dbWriter.ReadTelemetry(userId, out ids);

                if (telemetry?.Count > 0)
                {
                    var          str     = Newtonsoft.Json.JsonConvert.SerializeObject(telemetry, new Trigger.Classes.TelemetryJsonConverter());
                    var          body    = RequestBody.Create(type, str);
                    OkHttpClient client  = new OkHttpClient();
                    Request      request = new Request.Builder()
                                           .Url(Url)
                                           .Header("scn-dev-msg", "")
                                           .Post(body)
                                           .Build();

                    Callback c = new Callback {
                        Writer = dbWriter, Ids = ids
                    };

                    var all_signals = telemetry.SelectMany(b => b.Select(i => i)).ToList();

                    Logger.Info("Send Telemetry: " + all_signals.Count.ToString());
                    client.NewCall(request).Enqueue(c);
                }
                else
                {
                    Logger.Info("No signals to send");
                }
            };
        }
Beispiel #27
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);
            Button   download = FindViewById <Button>(Resource.Id.download);
            ListView listView = FindViewById <ListView>(Resource.Id.listView);

            download.Click += async delegate
            {
                HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
                logging.SetLevel(HttpLoggingInterceptor.Level.Basic);
                OkHttpClient client = new OkHttpClient().NewBuilder()
                                      .AddInterceptor(logging)
                                      .Build();

                // Create request for remote resource.
                Request request = new Request.Builder()
                                  .Url(Endpoint)
                                  .Build();

                // Execute the request and retrieve the response.
                Response response = await client.NewCall(request).ExecuteAsync();

                // Deserialize HTTP response to concrete type.
                string body = await response.Body().StringAsync();

                List <Contributor> contributors = JsonConvert.DeserializeObject <List <Contributor> >(body);

                // Sort list by the most contributions.
                List <string> data = contributors
                                     .OrderByDescending(c => c.contributions)
                                     .Select(c => string.Format("{0} ({1})", c.login, c.contributions))
                                     .ToList();

                // Output list of contributors.
                IListAdapter adapter = new ArrayAdapter <string>(
                    this,
                    Android.Resource.Layout.SimpleListItem1,
                    Android.Resource.Id.Text1,
                    data);
                listView.Adapter = adapter;
            };
        }
        private void GetComments() //在主线程更新UI
        {
            OkHttpClient client   = new OkHttpClient();
            var          Endpoint = string.Format(@"http://cacakaka.com:8000/api/Video/GetVideoCommons?vid={0}&pageIndex={1}&pageSize={2}", 1, 1, 20);// "http://47.91.249.226:8000/api/Video/GetAllVideos";

            // Create request for remote resource.
            Request request = new Request.Builder()
                              .Url(Endpoint)
                              .Build();

            // Execute the request and retrieve the response.
            Response response = client.NewCall(request).ExecuteAsync().Result;
            // Deserialize HTTP response to concrete type.
            string body = response.Body().StringAsync().Result;

            comments = new List <ArticleComment>();
            comments = JsonConvert.DeserializeObject <List <ArticleComment> >(body);
        }
Beispiel #29
0
        FileUploadResponse MakeRequest(string url, string tag, MultipartBuilder requestBodyBuilder, IDictionary <string, string> headers = null)
        {
            //RequestBody requestBody = requestBodyBuilder.Build();
            CountingRequestBody requestBody = new CountingRequestBody(requestBodyBuilder.Build(), this);
            var requestBuilder = new Request.Builder();

            if (headers != null)
            {
                foreach (string key in headers.Keys)
                {
                    if (!string.IsNullOrEmpty(headers[key]))
                    {
                        requestBuilder = requestBuilder.AddHeader(key, headers[key]);
                    }
                }
            }

            Request request = requestBuilder
                              .Url(url)
                              .Post(requestBody)
                              .Build();

            OkHttpClient client = new OkHttpClient();

            client.SetConnectTimeout(5, TimeUnit.Minutes); // connect timeout
            client.SetReadTimeout(5, TimeUnit.Minutes);    // socket timeout

            Response response           = client.NewCall(request).Execute();
            var      responseString     = response.Body().String();
            var      code               = response.Code();
            var      fileUploadResponse = new FileUploadResponse(responseString, code, tag);

            if (response.IsSuccessful)
            {
                FileUploadCompleted(this, fileUploadResponse);

                return(fileUploadResponse);
            }
            else
            {
                FileUploadError(this, fileUploadResponse);
                return(fileUploadResponse);
            }
        }
        private void LoadUrl(String url)
        {
            Request request;

            try
            {
                request = new Request.Builder()
                          .Url(url)
                          .Build();
            }
            catch (Exception ex)
            {
                OnLoadError();
                return;
            }


            if (this.client == null)
            {
                this.client = new OkHttpClient();
            }

            client.NewCall(request).Enqueue((ICall call, Response response) =>
            {
                if (!response.IsSuccessful)
                {
                    OnLoadError();
                }

                try
                {
                    JSONObject json = new JSONObject(response.Body().String());
                    LottieComposition.Factory.FromJson(this.Resources, json, (composition) =>
                    {
                        SetComposition(composition, "Network Animation");
                    });
                }
                catch (JSONException ex)
                {
                    OnLoadError();
                }
            },
                                            (ICall call, Java.IO.IOException e) => OnLoadError());
        }
Beispiel #31
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            handler = new Handler(Looper.MainLooper);

            btTryAgain = FindViewById <Button>(Resource.Id.button_try_again);
            client     = new OkHttpClient();
            settings   = UserSettings.GetInstanceForApp(this);

            dialog = new ProgressDialog(this);
            dialog.SetMessage("Please wait");
            dialog.Indeterminate = true;
            dialog.SetCancelable(true);

            btTryAgain.Click += (s, e) => CallToken();
        }
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            Button download = FindViewById<Button>(Resource.Id.download);
            ListView listView = FindViewById<ListView>(Resource.Id.listView);

            download.Click += async delegate
            {
                OkHttpClient client = new OkHttpClient();

                // Create request for remote resource.
                Request request = new Request.Builder()
                    .Url(Endpoint)
                    .Build();

                // Execute the request and retrieve the response.
                Response response = await client.NewCall(request).ExecuteAsync();

                // Deserialize HTTP response to concrete type.
                string body = await response.Body().StringAsync();
                List<Contributor> contributors = JsonConvert.DeserializeObject<List<Contributor>>(body);

                // Sort list by the most contributions.
                List<string> data = contributors
                    .OrderByDescending(c => c.contributions)
                    .Select(c => string.Format("{0} ({1})", c.login, c.contributions))
                    .ToList();

                // Output list of contributors.
                IListAdapter adapter = new ArrayAdapter<string>(
                    this,
                    Android.Resource.Layout.SimpleListItem1,
                    Android.Resource.Id.Text1,
                    data);
                listView.Adapter = adapter;
            };
        }
 private void getWeather(double latitude, double longitude)
 {
     string apiKey = "32b0b275eea19d641b0069e91c91b50a";
     string apiUrl = "https://api.forecast.io/forecast/" + apiKey + "/" + latitude + "," + longitude;
     if (isNetworkAvailable ()) {
         RunOnUiThread(() => toggleRefresh());
         OkHttpClient client = new OkHttpClient ();
         Request request = new Request.Builder ().Url (apiUrl).Build ();
         Call call = client.NewCall (request);
         call.Enqueue (response =>  {
             RunOnUiThread(() => toggleRefresh());
             var jsonData = JObject.Parse (response.Body ().String ());
             mCurrentWeather = getCurrentDetails (jsonData);
             RunOnUiThread(() => updateDisplay());
         }, (req, exception) =>  {
             ShowError ();
         });
     }
     else {
         Toast.MakeText (this, "Network unavailable", ToastLength.Long).Show ();
     }
 }
 public OkHttpImageDownloader(Context context, OkHttpClient client)
     : base(context)
 {
     this.client = client;
 }