草庐IT

okhttp-urlconnection

全部标签

android - 使用 okhttp 从资源上传二进制文件

我需要使用okhttp将bundle在apk中的二进制文件上传到服务器。使用urlconnection,您可以简单地获取Assets的输入流,然后将其放入您的请求中。但是,okhttp只为您提供了上传字节数组、字符串或文件的选项。由于您无法获取bundle在apk中的Assets的文件路径,因此将文件复制到本地文件目录(我宁愿不这样做)然后将文件提供给okhttp的唯一选择是?有没有办法简单地使用assetinputstream直接向网络服务器发出请求?编辑:我使用了公认的答案,但我没有创建静态实用程序类,而是简单地将RequestBody子类化publicclassInputStre

android - 在Android中为OkHttp设置缓存的正确方法

我正在尝试为OkHttp设置缓存,因此它仅在我第一次尝试从服务器检索响应时向服务器请求,直到过期header日期或来自服务器的缓存控制header使来自缓存的响应无效。目前,它缓存响应,但在再次请求资源时不使用它。可能这不是它应该使用的方式。我正在使用这样的缓存设置OkHttpClient:publicstaticCachecreateHttpClientCache(Contextcontext){try{FilecacheDir=context.getDir("service_api_cache",Context.MODE_PRIVATE);returnnewCache(cacheD

android - 在Android中为OkHttp设置缓存的正确方法

我正在尝试为OkHttp设置缓存,因此它仅在我第一次尝试从服务器检索响应时向服务器请求,直到过期header日期或来自服务器的缓存控制header使来自缓存的响应无效。目前,它缓存响应,但在再次请求资源时不使用它。可能这不是它应该使用的方式。我正在使用这样的缓存设置OkHttpClient:publicstaticCachecreateHttpClientCache(Contextcontext){try{FilecacheDir=context.getDir("service_api_cache",Context.MODE_PRIVATE);returnnewCache(cacheD

java - android中的OkHttp用于发出网络请求

我要做什么::我正在尝试学习Okhttp的用法用于在android中进行网络调用我做了什么::我已阅读他们的文档here我已经下载并在项目中添加了JAR我正在使用来自here的示例代码我的代码::MainActivity.javaimportandroid.app.Activity;importandroid.os.Bundle;importandroid.util.Log;importcom.squareup.okhttp.OkHttpClient;importcom.squareup.okhttp.internal.http.Request;importcom.squareup.o

java - android中的OkHttp用于发出网络请求

我要做什么::我正在尝试学习Okhttp的用法用于在android中进行网络调用我做了什么::我已阅读他们的文档here我已经下载并在项目中添加了JAR我正在使用来自here的示例代码我的代码::MainActivity.javaimportandroid.app.Activity;importandroid.os.Bundle;importandroid.util.Log;importcom.squareup.okhttp.OkHttpClient;importcom.squareup.okhttp.internal.http.Request;importcom.squareup.o

android - Square 的 OkHttp。下载进度

使用square`sOkHttp时有什么方法可以获取下载文件的进度吗??我在Recipes中没有找到任何解决方案.他们有类(class)Call可以异步获取内容,但是没有办法获取当前进度。 最佳答案 哎呀,答案很明显。对不起愚蠢的问题。只需照常读取InputStream即可。privateclassAsyncDownloaderextendsAsyncTask{privatefinalStringURL="file_url";@OverrideprotectedBooleandoInBackground(Void...params)

android - Square 的 OkHttp。下载进度

使用square`sOkHttp时有什么方法可以获取下载文件的进度吗??我在Recipes中没有找到任何解决方案.他们有类(class)Call可以异步获取内容,但是没有办法获取当前进度。 最佳答案 哎呀,答案很明显。对不起愚蠢的问题。只需照常读取InputStream即可。privateclassAsyncDownloaderextendsAsyncTask{privatefinalStringURL="file_url";@OverrideprotectedBooleandoInBackground(Void...params)

android - 如何将来自 Okhttp 的响应转换为输入流

代码:publicstaticStringgetRequestNoPayload(StringurlString,StringloginApi,StringmUsername)throwsException{Responseresponse;try{client.setConnectTimeout(20,TimeUnit.SECONDS);//connecttimeoutclient.setReadTimeout(20,TimeUnit.SECONDS);//sockettimeoutRequestrequest=newRequest.Builder().url(urlString).

android - 如何将来自 Okhttp 的响应转换为输入流

代码:publicstaticStringgetRequestNoPayload(StringurlString,StringloginApi,StringmUsername)throwsException{Responseresponse;try{client.setConnectTimeout(20,TimeUnit.SECONDS);//connecttimeoutclient.setReadTimeout(20,TimeUnit.SECONDS);//sockettimeoutRequestrequest=newRequest.Builder().url(urlString).

android - 如何在 Android 的 OKHTTP 3.x 中动态(或循环)发送 post 参数?

我使用的是OKHTTP3.x版本。我想发布多个参数,并想在循环中添加参数。我知道在2.x版本中,我可以使用FormEncodingBuilder并在循环中向其中添加参数,然后从中创建一个请求正文。但在3.x中,该类已被删除。这是我当前的代码:RequestBodyformBody=newFormBody.Builder().add("Param1",value1).add("Param2",value2).build();Requestrequest=newRequest.Builder().url("url").post(formBody).build();现在我想在循环中添加5个参