/** * Return a instance of tokenService to call it * * @param authority * @return TokenService return a proxy to call api */ private static TokenService getRealTokenService(String authority) { // Create a logging interceptor to log request and responses OkHttpClient client = new OkHttpClient(); InetSocketAddress p = findProxy(); if(p != null) { client.setProxy(new Proxy(Proxy.Type.HTTP,p)); } else { client.setProxy(Proxy.NO_PROXY); } // Create and configure the Retrofit object RestAdapter retrofit = new RestAdapter.Builder().setEndpoint(authority) .setLogLevel(LogLevel.FULL).setLog(new RestAdapter.Log() { @Override public void log(String msg) { logger.debug(msg); } }).setClient(new OkClient(client)).build(); // Generate the token service return retrofit.create(TokenService.class); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ok_http_demo_layout); btn_one=(Button)this.findViewById(R.id.btn_one); btn_two=(Button)this.findViewById(R.id.btn_two); top_bar_title=(TextView)this.findViewById(R.id.top_bar_title); tv_result=(TextView)this.findViewById(R.id.tv_result); top_bar_title.setText("Okhttp实例"); top_bar_linear_back=(LinearLayout)this.findViewById(R.id.top_bar_linear_back); top_bar_linear_back.setOnClickListener(new CustomOnClickListener()); btn_one.setOnClickListener(new CustomOnClickListener()); btn_two.setOnClickListener(new CustomOnClickListener()); client=new OkHttpClient(); }
/** * @param url * @return */ private OkHttpClient getHttpClient(String url) { Log.i(TAG, "getHttpClient url = " + url); if (StringUtil.isNotEmpty(url, true) == false) { Log.e(TAG, "getHttpClient StringUtil.isNotEmpty(url, true) == false >> return null;"); return null; } OkHttpClient client = new OkHttpClient(); client.setCookieHandler(new HttpHead()); client.setConnectTimeout(15, TimeUnit.SECONDS); client.setWriteTimeout(10, TimeUnit.SECONDS); client.setReadTimeout(10, TimeUnit.SECONDS); //添加信任https证书,用于自签名,不需要可删除 if (url.startsWith(StringUtil.URL_PREFIXs) && socketFactory != null) { client.setSslSocketFactory(socketFactory); } return client; }
/** * @param requestHeaders the client's supplied request headers. This class * creates a private copy that it can mutate. * @param connection the connection used for an intermediate response * immediately prior to this request/response pair, such as a same-host * redirect. This engine assumes ownership of the connection and must * release it when it is unneeded. */ public HttpEngine(OkHttpClient client, Policy policy, String method, RawHeaders requestHeaders, Connection connection, RetryableOutputStream requestBodyOut) throws IOException { this.client = client; this.policy = policy; this.method = method; this.connection = connection; this.requestBodyOut = requestBodyOut; try { uri = Platform.get().toUriLenient(policy.getURL()); } catch (URISyntaxException e) { throw new IOException(e.getMessage()); } this.requestHeaders = new RequestHeaders(uri, new RawHeaders(requestHeaders)); }
/** * Run some HTTP queries against a Docker container from image promagent/wildfly-kitchensink-promagent. * <p/> * The Docker container is started by the maven-docker-plugin when running <tt>mvn verify -Pwildfly</tt>. */ @Test public void testWildfly() throws Exception { OkHttpClient client = new OkHttpClient(); Request restRequest = new Request.Builder().url(System.getProperty("deployment.url") + "/rest/members").build(); // Execute REST call Response restResponse = client.newCall(restRequest).execute(); Assertions.assertEquals(restResponse.code(), 200); Assertions.assertTrue(restResponse.body().string().contains("John Smith")); Thread.sleep(100); // metric is incremented after servlet has written the response, wait a little to get the updated metric assertMetrics(client, "1.0"); // Execute REST call again restResponse = client.newCall(restRequest).execute(); Assertions.assertEquals(restResponse.code(), 200); Assertions.assertTrue(restResponse.body().string().contains("John Smith")); Thread.sleep(100); // metric is incremented after servlet has written the response, wait a little to get the updated metric assertMetrics(client, "2.0"); }
/** * @param url * @return */ private OkHttpClient getHttpClient(String url) { Log.i(TAG, "getHttpClient url = " + url); if (StringUtil.isNotEmpty(url, true) == false) { Log.e(TAG, "getHttpClient StringUtil.isNotEmpty(url, true) == false >> return null;"); return null; } OkHttpClient client = new OkHttpClient(); client.setCookieHandler(new HttpHead()); client.setConnectTimeout(15, TimeUnit.SECONDS); client.setWriteTimeout(10, TimeUnit.SECONDS); client.setReadTimeout(10, TimeUnit.SECONDS); return client; }
public void connect(String url) { try { mHttpClient= (OkHttpClient) Class.forName("com.squareup.okhttp.OkHttpClient").newInstance(); } catch (Exception e) { isSupportWebSocket =false; return; } mHttpClient.setConnectTimeout(10, TimeUnit.SECONDS); mHttpClient.setWriteTimeout(10, TimeUnit.SECONDS); // Disable timeouts for read mHttpClient.setReadTimeout(0, TimeUnit.MINUTES); Request request = new Request.Builder().url(url).build(); WebSocketCall call = WebSocketCall.create(mHttpClient, request); call.enqueue(this); }
public GitHub initGithub() { String tmpDirPath = System.getProperty("java.io.tmpdir"); File cacheDirectoryParent = new File(tmpDirPath); File cacheDirectory = new File(cacheDirectoryParent, "okhttpCache"); if (!cacheDirectory.exists()) { cacheDirectory.mkdir(); } Cache cache = new Cache(cacheDirectory, 100 * 1024 * 1024); try { return GitHubBuilder.fromCredentials() .withRateLimitHandler(RateLimitHandler.WAIT) .withAbuseLimitHandler(AbuseLimitHandler.WAIT) .withConnector(new OkHttpConnector(new OkUrlFactory(new OkHttpClient().setCache(cache)))) .build(); } catch (IOException e) { throw new RuntimeException(e); } }
Call post(Callback callback) throws IOException { OkHttpClient client = getUnsafeOkHttpClient(); CookieManager cookieManager = new CookieManager(); cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); client.setCookieHandler(cookieManager); RequestBody requestBody = new FormEncodingBuilder() .add("user_id", NetId) .add("user_password", password) .build(); Request request = new Request.Builder() .url("https://studentmaintenance.webapps.snu.edu.in/students/public/studentslist/studentslist/loginauth") .post(requestBody) .build(); Call call = client.newCall(request); call.enqueue(callback); return call; }
private static RestAdapter getRestAdapter() { RequestInterceptor requestInterceptor = new RequestInterceptor() { @Override public void intercept(RequestFacade request) { request.addHeader(Constant.TAG_TOKEN, Constant.APP_TOKEN); } }; return new RestAdapter.Builder() .setLogLevel(LOG_LEVEL) .setEndpoint(RetroInterface.TARGET_URL) .setRequestInterceptor(requestInterceptor) .setClient(new OkClient(new OkHttpClient())) .build(); }
private static RestAdapter getImageApiAdapter() { RequestInterceptor requestInterceptor = new RequestInterceptor() { @Override public void intercept(RequestFacade request) { request.addHeader(Constant.TAG_TOKEN, Constant.APP_TOKEN); } }; return new RestAdapter.Builder() .setLogLevel(LOG_LEVEL) .setEndpoint(RetroInterface.TARGET_URL) .setRequestInterceptor(requestInterceptor) .setClient(new OkClient(new OkHttpClient())) .build(); }
public HttpEngine(OkHttpClient client, Request request, boolean bufferRequestBody, boolean callerWritesRequestBody, boolean forWebSocket, StreamAllocation streamAllocation, RetryableSink requestBodyOut, Response priorResponse) { this.client = client; this.userRequest = request; this.bufferRequestBody = bufferRequestBody; this.callerWritesRequestBody = callerWritesRequestBody; this.forWebSocket = forWebSocket; if (streamAllocation == null) { streamAllocation = new StreamAllocation(client.getConnectionPool(), createAddress (client, request)); } this.streamAllocation = streamAllocation; this.requestBodyOut = requestBodyOut; this.priorResponse = priorResponse; }
@Provides @Singleton OkHttpClient provideOkHttpClient() { OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.setConnectTimeout(60 * 1000, TimeUnit.MILLISECONDS); okHttpClient.setReadTimeout(60 * 1000, TimeUnit.MILLISECONDS); return okHttpClient; }
@Provides @Singleton RestAdapter provideRestAdapter(Application application, OkHttpClient okHttpClient) { RestAdapter.Builder builder = new RestAdapter.Builder(); builder.setClient(new OkClient(okHttpClient)) .setEndpoint(ENDPOINT); return builder.build(); }
/** * @param client * @param request * @return * @throws Exception */ private String getResponseJson(OkHttpClient client, Request request) throws Exception { if (client == null || request == null) { Log.e(TAG, "getResponseJson client == null || request == null >> return null;"); return null; } Response response = client.newCall(request).execute(); return response.isSuccessful() ? response.body().string() : null; }
public OkHttpHelper() { mHttpClient = new OkHttpClient(); mHttpClient.setConnectTimeout(10, TimeUnit.SECONDS); mHttpClient.setReadTimeout(10, TimeUnit.SECONDS); mHttpClient.setWriteTimeout(30, TimeUnit.SECONDS); mGson = new Gson(); mHandler = new Handler(Looper.getMainLooper()); }
private void connectToApi() { OkHttpClient okHttpClient = this.createClient(); final Request request = new Request.Builder() .url(this.url) .addHeader(CONTENT_TYPE_LABEL, CONTENT_TYPE_VALUE_JSON) .get() .build(); try { this.response = okHttpClient.newCall(request).execute().body().string(); } catch (IOException e) { e.printStackTrace(); } }
private OkHttpClient createClient() { final OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.setReadTimeout(10000, TimeUnit.MILLISECONDS); okHttpClient.setConnectTimeout(15000, TimeUnit.MILLISECONDS); return okHttpClient; }
private OkHttpClient createOkHttpClient() { OkHttpClient okHttpClient = new OkHttpClient(); // if we have response cache let's use it! if (responseCache != null) { okHttpClient.setCache(responseCache); } // add auth interceptors switch (authType) { case OAUTH: if (oAuthConsumer == null) { throw new IllegalStateException("a RetrofitHttpOAuthConsumer must be created before creating OKClient"); } okHttpClient.interceptors().add(new OAuthSigningInterceptor(oAuthConsumer)); break; case API_TOKEN: okHttpClient.interceptors().add(new ApiTokenSigningInterceptor(apiToken)); break; default: throw new IllegalStateException("AuthType " + authType + " isn't supported."); } // add all other application interceptors if (applicationInterceptors != null && !applicationInterceptors.isEmpty()) { okHttpClient.interceptors().addAll(applicationInterceptors); } // add all other network interceptors if (networkInterceptors != null && !networkInterceptors.isEmpty()) { okHttpClient.networkInterceptors().addAll(networkInterceptors); } return okHttpClient; }
/** * @return RequestQueue */ public RequestQueue getRequestQueue() { if (mRequestQueue == null) { mRequestQueue = Volley.newRequestQueue(mContext, new OkHttpStack(new OkHttpClient())); } mRequestQueue.getCache().clear(); return mRequestQueue; }
public ApiClient() { httpClient = new OkHttpClient(); verifyingSsl = true; json = new JSON(this); /* * Use RFC3339 format for date and datetime. * See http://xml2rfc.ietf.org/public/rfc/html/rfc3339.html#anchor14 */ this.dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // Always use UTC as the default time zone when dealing with date (without time). this.dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); initDatetimeFormat(); // Be lenient on datetime formats when parsing datetime from string. // See <code>parseDatetime</code>. this.lenientDatetimeFormat = true; // Set default User-Agent. setUserAgent("INA; OTMedia; afp-api-client v0.3.0"); // Setup authentications (key: authentication name, value: authentication). authentications = new HashMap<String, Authentication>(); authentications.put("oauth2", new OAuth()); // Prevent the authentications from being modified. authentications = Collections.unmodifiableMap(authentications); }
public OkHttpClient getUnsafeOkHttpClient() { try { OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.setSslSocketFactory(getSslSocketFactory()); okHttpClient.setHostnameVerifier(new NullHostNameVerifier()); return okHttpClient; } catch (Exception e) { throw new RuntimeException(e); } }
@Before public void setup() { client = new OkHttpClient(); request = new Request.Builder() .url("http://www.vogella.com/index.html") .build(); }
public static synchronized RemoteService getInstance() { if (service == null) { service = new RemoteService(); mOkHttpClient = new OkHttpClient(); } return service; }
public static <T> T createStatic(final Context context, String baseUrl, Class<T> clazz) { final OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.setCache(new Cache(context.getApplicationContext().getCacheDir(), CACHE_SIZE)); okHttpClient.setConnectTimeout(40, TimeUnit.SECONDS); RequestInterceptor interceptor = new RequestInterceptor() { PreferencesUtility prefs = PreferencesUtility.getInstance(context); @Override public void intercept(RequestFacade request) { //7-days cache request.addHeader("Cache-Control", String.format("max-age=%d,%smax-stale=%d", Integer.valueOf(60 * 60 * 24 * 7), prefs.loadArtistImages() ? "" : "only-if-cached,", Integer.valueOf(31536000))); request.addHeader("Connection", "keep-alive"); } }; RestAdapter.Builder builder = new RestAdapter.Builder() .setEndpoint(baseUrl) .setRequestInterceptor(interceptor) .setClient(new OkClient(okHttpClient)); return builder .build() .create(clazz); }
@Test public void testGetJokes() throws IOException { //Building the RestAdapter again because UrlFetchClient needs appengine module // and doesn't work during testing. Also, OkClient is not supported by GCE RestAdapter restAdapter = new RestAdapter.Builder() .setEndpoint(ServiceGenerator.API_ENDPOINT_URL) .setClient(new OkClient(new OkHttpClient())) .build(); ApiInterface apiInterface = restAdapter.create(ApiInterface.class); assertEquals("Incorrect response : ", 5, apiInterface.getRandomJokesSync(5).getJokeList().size()); }
private static OkHttpClient defaultOkHttpClient() { OkHttpClient client = new OkHttpClient(); client.networkInterceptors().add(new OkHttpInterceptor()); client.setConnectTimeout(DEFAULT_CONNECT_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); client.setReadTimeout(DEFAULT_READ_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); client.setWriteTimeout(DEFAULT_WRITE_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); return client; }
public ApiClient() { httpClient = new OkHttpClient(); verifyingSsl = true; json = new JSON(this); /* * Use RFC3339 format for date and datetime. * See http://xml2rfc.ietf.org/public/rfc/html/rfc3339.html#anchor14 */ this.dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // Always use UTC as the default time zone when dealing with date (without time). this.dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); initDatetimeFormat(); // Be lenient on datetime formats when parsing datetime from string. // See <code>parseDatetime</code>. this.lenientDatetimeFormat = true; // Set default User-Agent. setUserAgent("Swagger-Codegen/0.1.20/java"); // Setup authentications (key: authentication name, value: authentication). authentications = new HashMap<String, Authentication>(); // Prevent the authentications from being modified. authentications = Collections.unmodifiableMap(authentications); }
private static OkHttpClient buildClientWithTimeout(int timeoutInSeconds) { OkHttpClient client = new OkHttpClient(); client.setConnectTimeout(timeoutInSeconds, TimeUnit.SECONDS); client.setReadTimeout(timeoutInSeconds, TimeUnit.SECONDS); client.setWriteTimeout(timeoutInSeconds, TimeUnit.SECONDS); return client; }
private RestAdapter.Builder buildCommonRestAdapterBuilder(Gson gson, OkHttpClient client) { return new RestAdapter.Builder() .setClient(new OkClient(client)) .setConverter(new GsonConverter(gson)) .setEndpoint(getApiUri().toString()) .setLogLevel(LogLevel.valueOf(ctx.getString(R.string.http_log_level))); }
public static synchronized RemoteService getInstance() { if (service == null) { service = new RemoteService(); mOkHttpClient = new OkHttpClient(); //设置超时时间 //参见:OkHttp3超时设置和超时异常捕获 //http://blog.csdn.net/do168/article/details/51848895 mOkHttpClient.setConnectTimeout(10, TimeUnit.SECONDS); mOkHttpClient.setWriteTimeout(10, TimeUnit.SECONDS); mOkHttpClient.setReadTimeout(30, TimeUnit.SECONDS); } return service; }