【问题标题】:HttpGet get = new HttpGet(url); giving exceptionsHttpGet 获取 = 新的 HttpGet(url);给予例外
【发布时间】:2014-11-29 00:10:47
【问题描述】:

我正在尝试做一件几天前还在工作的非常简单的事情。

CloseableHttpClient client = HttpClientBuilder.create().build();
            HttpGet get = new HttpGet(url);
            HttpResponse response = client.execute(get);

出现以下错误

Caused by:
            java.lang.IllegalStateException: Unsupported cookie spec: default
                at org.apache.http.cookie.CookieSpecRegistry.getCookieSpec(CookieSpecRegistry.java:110)
                at org.apache.http.cookie.CookieSpecRegistry$1.create(CookieSpecRegistry.java:163)
                at org.apache.http.client.protocol.RequestAddCookies.process(RequestAddCookies.java:157)
                at org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:132)
                at org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:166)
                at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485)
                at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:878)
                at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:84)
                at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:109)
                at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)

我之前使用过时的客户端遇到了这个错误,我将其更改为使用 HTTPClientBuilder。我不确定它为什么要使用 HTTPGet。 非常感谢任何帮助。

【问题讨论】:

  • 你用的是什么版本的HttpClient?
  • 对不起,我的错。我应该在我的问题中提到这一点。我正在使用 4.3。
  • 这没有意义。 'default' cookie 策略是在 4.4 版中引入的
  • 我很想对此进行跟进。我们遇到了完全相同的问题:我们的代码突然停止工作,我们得到完全相同的异常和调用堆栈。我不知道自上次工作以来发生了什么变化。也许另一个包已经更新?您最终找到问题的原因了吗?

标签: java http apache-httpclient-4.x http-get


【解决方案1】:

试试这个代码

http.get(Uri.parse('https://jsonplaceholder.typicode.com/albums/1')); }

【讨论】:

【解决方案2】:

这是来自 apache httpclient 的错误,版本 4.4 beta 1 有这个错误,但版本 4.3.6 对我来说很好。

如果您使用的是 maven,请在 pom 中使用以下内容:

    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.3.6</version>
    </dependency>

并且在他们修复此错误之前不要将其更新到 4.4。

【讨论】:

  • 你有这个错误的参考吗?我们可以投票吗?
  • @Friso 在通过更改版本解决问题后,我不再研究该错误。我觉得这样的问题不值得花太多时间。
  • 也破坏了Sardine 5.0
猜你喜欢
  • 2015-02-23
  • 1970-01-01
  • 1970-01-01
  • 2012-05-07
  • 2011-10-21
  • 2021-11-14
  • 2019-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多