JoddRequestHttp.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package cn.nosum.http.jodd;
  2. import cn.nosum.http.AbsRequestHttp;
  3. import cn.nosum.http.RequestHttp;
  4. import cn.nosum.http.RequestHttpProperties;
  5. import cn.nosum.http.apache.ApacheHttpClientBuilder;
  6. import cn.nosum.http.apache.DefaultApacheHttpClientBuilder;
  7. import cn.nosum.http.enums.HttpType;
  8. import jodd.http.HttpConnectionProvider;
  9. import jodd.http.ProxyInfo;
  10. import org.apache.http.HttpHost;
  11. import org.apache.http.impl.client.CloseableHttpClient;
  12. /**
  13. * Jodd 请求代理封装.
  14. *
  15. * @author Young
  16. */
  17. public class JoddRequestHttp extends AbsRequestHttp<HttpConnectionProvider, ProxyInfo> {
  18. public JoddRequestHttp(RequestHttpProperties properties) {
  19. if (properties.getHttpProxyHost() != null && properties.getHttpProxyPort() > 0) {
  20. httpProxy = new ProxyInfo(ProxyInfo.ProxyType.HTTP,
  21. properties.getHttpProxyHost(),
  22. properties.getHttpProxyPort(),
  23. properties.getHttpProxyUsername(),
  24. properties.getHttpProxyPassword());
  25. }
  26. JoddSocketHttpConnectionProvider joddSocketHttpConnectionProvider = new JoddSocketHttpConnectionProvider();
  27. joddSocketHttpConnectionProvider.setSoTimeout(properties.getReadTimeout());
  28. joddSocketHttpConnectionProvider.setConnectionTimeout(properties.getConnectTimeout());
  29. httpClient = joddSocketHttpConnectionProvider;
  30. }
  31. @Override
  32. public HttpType getRequestType() {
  33. return HttpType.JODD_HTTP;
  34. }
  35. }