我正在使用Java进行小型浏览器实现。
我正在使用Apache HttpComponents 4.3.1,因为它有一个自动转发机制,但我无法弄清楚它是如何工作的。
从Apache docs Chapter 1. Fundamentals,我正在尝试使用此代码摘录:
LaxRedirectStrategy redirectStrategy = new LaxRedirectStrategy();
CloseableHttpClient httpclient = HttpClients.custom()
.setRedirectStrategy(redirectStrategy)
.build();
这应创建一个可以自动转发的ClosableHttpClient
。但是在第二行(通过调用.build()
创建客户端)我收到此错误:
线程“AWT-EventQueue-0”中的异常java.lang.NoSuchFieldError:
实习在 org.apache.http.impl.io.DefaultHttpRequestWriterFactory<初始化>
(DefaultHttpRequestWriterFactory.java:52)
没有更多代码,我只需通过以下方式调用此代码段:
HttpClient myClient = createClient();
如果我使用显式,那没有区别:
ClosableHttpClient myClient = createClient();
(我在Apache Tutorial中找到)
我怀疑某些库存在干扰,所以这是我的类路径概述: