配置QuickHttpClient

使用QuickHttp首先配置QuickHttpClient.

获取CookieOption

  1. QuickHttpClient client = QuickHttp.newQuickHttpClient()
  2. .proxy("127.0.0.1",8888)
  3. //设置连接超时时间
  4. .connectTimeout(3000)
  5. //设置连接超时时间
  6. .readTimeout(5000)
  7. //是否自动重定向
  8. .followRedirects(true)
  9. //允许重定向的最大次数
  10. .maxFollowRedirectTimes(20)
  11. //是否忽略http状态错误
  12. .ignoreHttpErrors(true);

全部配置选项

配置项含义默认值
proxy设置http代理
connectTimeout连接超时时间(毫秒)0
readTimeout读取超时时间(毫秒)0
followRedirects是否自动重定向true
maxFollowRedirectTimes最大重定向次数20
ignoreHttpErrors是否忽略http错误(4xx和5xx响应码)false
retryTimes请求超时时重试次数3
hostnameVerifierhttps链接参数
sslSocketFactoryhttps链接参数
threadPoolExecutor(ThreadPoolExecutor threadPoolExecutor)异步执行时的线程池
origin设置origin,执行http请求时会拼接到url前面
quickHttpClientListener事件监听参数

origin方法使用场景

  1. QuickHttpClient client = QuickHttp.newQuickHttpClient().origin("http://127.0.0.1");
  2. //实际访问http://127.0.0.1/hello
  3. client.connect("/hello").execute();
  4. //如果链接以http开头,则origin属性失效,以下代码访问http://192.168.1.100/hello
  5. client.connect("http://192.168.1.100/hello").execute();

事件监听

QuickHttp提供了访问前后的事件监听

  1. QuickHttpClient client = QuickHttp.newQuickHttpClient();
  2. client.quickHttpClientListener(new QuickHttpClientListener() {
  3. @Override
  4. public void beforeExecute(Request request) {
  5. RequestMeta requestMeta = request.requestMeta();
  6. System.out.println("请求执行前");
  7. System.out.println(requestMeta.url);
  8. System.out.println(requestMeta.method);
  9. }
  10. @Override
  11. public void executeSuccess(Request request, Response response) {
  12. System.out.println("请求执行成功");
  13. }
  14. @Override
  15. public void executeFail(Request request, Exception e) {
  16. System.out.println("请求执行失败");
  17. }
  18. });

全局Client

QuickHttp内置全局Client,可直接通过静态方法调用connect,clientConfig等方法.