Questions tagged «okhttp»

适用于Android和Java应用程序的HTTP + HTTP / 2客户端。

11
如何使用OkHttp设置连接超时
我正在使用OkHttp库开发应用程序,但我的麻烦是我找不到如何设置连接超时和套接字超时的方法。 OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url(url).build(); Response response = client.newCall(request).execute();
173 java  timeout  okhttp 

6
脱机时可以使用OKHttp进行改造以使用缓存数据
我正在尝试使用Retrofit和OKHttp来缓存HTTP响应。我遵循了要点,最后得到了以下代码: File httpCacheDirectory = new File(context.getCacheDir(), "responses"); HttpResponseCache httpResponseCache = null; try { httpResponseCache = new HttpResponseCache(httpCacheDirectory, 10 * 1024 * 1024); } catch (IOException e) { Log.e("Retrofit", "Could not create http cache", e); } OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.setResponseCache(httpResponseCache); api = new RestAdapter.Builder() .setEndpoint(API_URL) .setLogLevel(RestAdapter.LogLevel.FULL) .setClient(new OkClient(okHttpClient)) .build() …

8
使用okHttp信任所有证书
为了进行测试,我试图将套接字工厂添加到我的okHttp客户端中,该客户端工厂在设置代理时会信任所有内容。这已经做过很多次了,但是我对可信任套接字工厂的实现似乎缺少了一些东西: class TrustEveryoneManager implements X509TrustManager { @Override public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { } @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } } OkHttpClient client = new OkHttpClient(); final InetAddress ipAddress = InetAddress.getByName("XX.XXX.XXX.XXX"); // some IP …

4
为什么有OkHttp时为什么要使用Retrofit
使用OkHttp,我们可以发出HTTP请求,然后从服务器获取响应 OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .build(); Response response = client.newCall(request).execute(); 然后使用Gson lib将响应转换为我们需要的对象。 这是来自Square / OkHttp文档: 它的请求/响应API具有流畅的构建器和不变性。它支持同步阻塞调用和带回调的异步调用 我从stackOverFlow阅读 如果可用,翻新将自动使用OkHTTP 。 所以我的问题是Retrofit到底要做什么? OkHttp无法做到的Retrofit可以做什么? 我认为OkHttp和Gson解决了请求API问题,那么Retrofit为我们解决了什么问题?
107 java  android  retrofit  okhttp 

9
如何将标头添加到OkHttp请求拦截器?
我将这个拦截器添加到我的OkHttp客户端中: public class RequestTokenInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { Request request = chain.request(); // Here where we'll try to refresh token. // with an retrofit call // After we succeed we'll proceed our request Response response = chain.proceed(request); return response; } } 如何在拦截器中添加标题以进行请求? 我尝试了这个,但是我犯错了,创建新请求时我丢失了请求: …

13
如何使用OKHTTP发出发布请求?
我读了一些将jsons发布到服务器的示例。 有人说: OkHttp是Java提供的HttpUrlConnection接口的实现。它提供用于编写​​内容的输入流,并且不知道(或不在乎)该内容是什么格式。 现在,我想用名称和密码的参数对URL进行常规发布。 这意味着我需要自己将名称和值对编码为流?
91 java  okhttp 

6
从OKHTTP下载二进制文件
我在我的Android应用程序中使用OKHTTP客户端进行联网。 此示例显示了如何上传二进制文件。我想知道如何使用OKHTTP客户端获取二进制文件下载的输入流。 这是示例的清单: public class InputStreamRequestBody extends RequestBody { private InputStream inputStream; private MediaType mediaType; public static RequestBody create(final MediaType mediaType, final InputStream inputStream) { return new InputStreamRequestBody(inputStream, mediaType); } private InputStreamRequestBody(InputStream inputStream, MediaType mediaType) { this.inputStream = inputStream; this.mediaType = mediaType; } @Override public MediaType contentType() { return mediaType; …

7
无法获取OkHttp的response.body.toString()返回字符串
我正在尝试使用OkHttp获取一些json数据,并且无法弄清楚为什么当我尝试记录response.body().toString()所得到的是Results:﹕ com.squareup.okhttp.Call$RealResponseBody@41c16aa8 try { URL url = new URL(BaseUrl); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .header(/****/) .build(); Call call = client.newCall(request); Response response = call.execute(); **//for some reason this successfully prints out the response** System.out.println("YEAH: " + response.body().string()); if(!response.isSuccessful()) { Log.i("Response code", " " + …
77 java  android  okhttp 

5
Retrofit2授权-访问令牌的全局拦截器
我正在尝试使用Retrofit2,我想添加Token到我的Header像这样: Authorization: Bearer Token 但code以下内容不起作用: public interface APIService { @Headers({"Authorization", "Bearer "+ token}) @GET("api/Profiles/GetProfile?id={id}") Call<UserProfile> getUser(@Path("id") String id); } 我的服务器是asp.net webApi。请帮我该怎么办?

8
OkHttp是否支持接受自签名SSL证书?
我正在为拥有带有自签名SSL证书的服务器的客户工作。 我使用包装的OkHttp客户端使用Retrofit + CustomClient: RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint(Config.BASE_URL + Config.API_VERSION) .setClient(new CustomClient(new OkClient(), context)) .build(); OkHttp默认情况下是否支持调用自签名SSL证书服务器? 顺便说说。哪个客户端默认使用翻新?我以为是OkHttp,但是当我进一步研究时,我意识到我需要导入OkHttp依赖项
75 java  retrofit  okhttp 

4
OkHttp发布正文为JSON
所以,当我使用Koush的离子时,我能够使用一个简单的方法将json正文添加到我的帖子中 .setJsonObjectBody(json).asJsonObject() 我要转到OkHttp,但我确实没有找到一种很好的方法。我到处都是错误400。 谁有想法? 我什至尝试手动将其格式化为json字符串。 String reason = menuItem.getTitle().toString(); JsonObject json = new JsonObject(); json.addProperty("Reason", reason); String url = mBaseUrl + "/" + id + "/report"; Request request = new Request.Builder() .header("X-Client-Type", "Android") .url(url) .post(RequestBody .create(MediaType .parse("application/json"), "{\"Reason\": \"" + reason + "\"}" )) .build(); client.newCall(request).enqueue(new com.squareup.okhttp.Callback() { @Override public …

6
OkHttp如何记录请求正文
我使用的是拦截器,我想记录正在执行的请求的正文,但看不到任何执行此操作的方法。 可能吗 ? public class LoggingInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { Request request = chain.request(); long t1 = System.nanoTime(); Response response = chain.proceed(request); long t2 = System.nanoTime(); double time = (t2 - t1) / 1e6d; if (request.method().equals("GET")) { Logs.info(String.format("GET " + F_REQUEST_WITHOUT_BODY + F_RESPONSE_WITH_BODY, …
75 android  okhttp 

13
如何使用OkHttp / Retrofit重试HTTP请求?
我在Android项目中使用Retrofit / OkHttp(1.6)。 我找不到任何内置于其中的请求重试机制。在搜索更多内容时,我读到OkHttp似乎有静默重试。我没有在任何连接(HTTP或HTTPS)上看到这种情况。如何使用okclient配置重试? 目前,我正在捕获异常并重试维护一个计数器变量。

12
具有基本身份验证的Android OkHttp
我将OkHttp库用于新项目,其易用性给我留下了深刻的印象。我现在需要使用基本身份验证。不幸的是,缺少示例代码。我正在寻找一个在遇到HTTP 401标头时如何将用户名/密码凭据传递给OkAuthenticator的示例。我看了这个答案: 使用基本HTTP身份验证改进POST请求:“无法重试流式HTTP正文” 但这并没有使我走得太远。OkHttp github存储库上的示例也没有基于身份验证的示例。有没有人有要点或其他代码示例来指导我正确的方向?感谢你的协助!
70 android  okhttp 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.