问题标签 [apache-commons-httpclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1072 浏览

java - 使用 MultiThreadedHttpConnectionManager 为同一个 httpclient 设置不同的套接字超时

我有两个线程使用相同的 HTTPClientTest 实例。两个线程在同一个 HTTPClientTest 上调用 send 方法。我应该如何为调用 send 方法的每个线程设置不同的套接字超时。如果我在发送方法中做这样的事情,那么执行发送方法的两个线程将具有相同的套接字超时。
managerParams.setSoTimeout(60);connectionManager.setParams(managerParams);

我应该如何为在同一 HTTPClientTest 实例上执行发送方法的多个线程创建不同的套接字超时。

0 投票
1 回答
834 浏览

ubuntu-10.04 - java.net.ConnectException:ubuntu 10.04 上的连接超时错误

在尝试执行 http get 时,我不断收到连接超时错误。当我在我的系统上运行相同的代码时,它运行得非常好,但是当我尝试在我的服务器上运行它时会出现这个问题。尝试使用 curl 时,相同的 url 会始终返回响应。这两个系统都有 ubuntu 10.04,并且使用的是 open-jdk。两者都使用commons-httpclient-3.1.jar,并且不涉及多线程、多连接。虽然我知道某处必须有一些不同的东西导致行为差异,但我无法弄清楚从哪里开始寻找。任何指针?

0 投票
2 回答
5372 浏览

java - 流式传输 xml 时连接重置

我的代码需要在 GZIPInputStream 中下载一个大的 xml 文件 (500MB) 并对其进行处理,并对每个对象执行一些操作。这些操作需要时间才能完成,而且我有很多对象要处理。我正在使用 commons http-client 3.1 和 stax。

当我运行代码时,它会一直工作,直到两三个小时后,我得到一个SocketException: Connection reset. 看起来服务器已关闭连接,是否正确?有没有办法在服务器端不做任何更改的情况下避免此错误?如果没有,我该如何处理以避免从一开始就重新运行我的应用程序?

0 投票
1 回答
4322 浏览

java - Android - Apache 公共库和 Exchange Web 服务托管 API

我已经在尝试 Java 中的交换 Web 服务。它运行良好。它已发送电子邮件或正确接收电子邮件。

我的 Java 代码如下所示:

当我使用以下代码在 android 中尝试此操作时:

单击按钮时出现一些错误。

这是来自控制台的消息:

这是来自日志聊天的错误:

我已经添加了这些库。

Exchange Web 服务 (EWS) Java 托管 API 由单个包 microsoft.exchange.webservices.data 组成,并且需要以下第 3 方库

  • Apache Commons HttpClient (commons-httpclien.jar)
  • Apache Commons 编解码器 (commons-codec.jar)
  • Apache Commons 日志记录 (commons-codec.jar)
  • JCIFS (jcifs.jar)
  • EWS Java API。

问题是什么?

我做了一些研究。我看到一些 Android 已经在 sdk 库中有日志记录和 httpclient 的地方。

0 投票
1 回答
567 浏览

java - 如何重新发送或保留会话 cookie

我一直在尝试在 java 代码中处理重定向(302),我终于能够做到。但我遇到了一个问题。也就是说,一旦重定向打开一个页面,点击页面上的任何链接都会让我回到登录页面。

所以我必须编写自己的重定向实现:

根据我的想法,我可能不会重新发送或保留会话 cookie。我将如何重新发送或保留会话 cookie?如果以上代码有任何错误,请赐教。

任何其他想法将不胜感激。

0 投票
2 回答
50630 浏览

android - DefaultHttpClient 到 AndroidHttpClient

我的代码有问题,我希望能得到一些帮助。我首先使用此代码:

它在 android 2.3 上工作得很好,但在 4.0 上却不行。经过一番研究,我听说使用 AndroidHttpClient 更好,这样它可以在 4.0 和 3.1 上运行。问题是我不知道我是否正确修改了我的代码,并且互联网上没有太多关于 AndroidhttpClient 的示例。

这是我调整的代码:

这是 logcat 显示的内容:

0 投票
1 回答
628 浏览

java - 控制台中显示奇怪的输出,尝试通过站点中的 java 登录

我正在尝试使用以下代码登录站点并获取内容,但是当我运行代码时,输​​出不可读并且代码也没有给出任何错误/异常。代码是否工作并登录到站点但数据是加密,所以这就是它在控制台中显示的内容,或者代码有问题

输出是:

加密文本比我显示的要多得多,这在控制台中一次又一次地重复

0 投票
0 回答
3031 浏览

axis2 - 旧版本的 Commons-HttpClient 在 Axis2 Web 服务客户端中出现 IOException

我正在使用 wsdl2java 为axis2 Web 服务生成的Web 服务客户端(axis2 版本是1.6.1)。因此,对于 http 连接,使用的是旧版本的 commons-httpclient 3.1。在对我的 Web 服务客户端进行一些负载测试时。在某些情况下,我遇到了这个异常

Web 服务客户端从服务器请求文件并下载文件。这些异常发生在以块形式接收文件时的响应中。在搜索时,我遇到了这里提到的这个修复。 https://issues.apache.org/jira/browse/HTTPCORE-190

但是,仍然会发生异常。那么还有什么可能导致这个异常呢?

更新:

好的,我得到了异常的真正原因。在客户端,如果 jvm 的内存分配较低,则由于 SocketTimeOut,无法处理来自服务器的响应。但例外本身不能强调这一点。在客户端增加堆可以暂时解决问题。

0 投票
3 回答
7463 浏览

android - 在 Android 上使用 EWS Java API 的问题

我正在尝试在 Android 应用程序中使用 EWS Java API v1.1.5 (http://archive.msdn.microsoft.com/ewsjavaapi),但遇到了许多问题。我下载了源代码,并按照提供的说明在 Eclipse 中编译 EWS Java API。在这些说明中,您被告知下载并添加以下先决条件 jar 文件依赖项:

  • commons-codec-1.4.jar
  • commons-httpclient-3.1.jar
  • commons-logging-1.1.1.jar
  • jcifs-1.3.15.jar

我这样做了,并按照构建说明生成了以下 jar 文件:

  • EWSAPI-1.1.0.jar
  • EWSAPIWithJars-1.1.0

接下来,我构建了一个全新的 Android 应用程序,将适当的权限添加到清单中,然后将以下源添加到主要活动的 OnCreate:

我首先尝试使用 EWSAPI-1.1.0.jar 文件作为依赖项运行此应用程序。当我这样做时,我得到了以下致命错误:

未捕获的处理程序:由于未捕获的异常 java.lang.NoClassDefFoundError: org.apache.commons.httpclient.MultiThreadedHttpConnectionManager 在 microsoft.exchange.webservices.data.ExchangeServiceBase 退出线程主。(未知来源)在 microsoft.exchange.webservices.data.ExchangeServiceBase .(未知来源)在 microsoft.exchange.webservices.data.ExchangeService。(未知来源)在 com.meshin.exchange.ExchangeDiscoveryActivity.onCreate(ExchangeDiscoveryActivity.java:40)

根据我的研究,似乎正在生成此错误,因为 Android 带有 Apache HttpClient 4.0,它似乎不再具有 MultiThreadedHttpConnectionManager 类。

如果我改为删除 EWSAPI-1.1.0.jar,而是使用 EWSAPIWithJARS-1.1.0.jar 文件作为依赖项,则会收到以下错误:

VFY:无法解析静态方法 908:Ljavax/xml/stream/XMLOutputFactory;newInstance()Ljavax/xml/stream/XMLOutputFactory; VFY:L microsoft/exchange/webservices/data/EwsUtilities 中的死代码 0x0008-006a;.formatLogMessage (Ljava/lang/String;Ljava/lang/String;) Ljava/lang/String; VFY:无法找到签名中引用的类 (Ljavax/xml/stream/XMLStreamWriter;)

然后最终...

致命异常:主要 java.lang.VerifyError:microsoft.exchange.webservices.data.ExchangeService.getAutodiscoverUrl 上的 microsoft.exchange.webservices.data.AutodiscoverService(来源不明) microsoft.exchange.webservices.data.ExchangeService.autodiscoverUrl(来源不明) ) 在 com.meshin.exchange.ExchangeDiscoveryActivity.onCreate(ExchangeDiscoveryActivity.java:41)

我假设是因为现在我包含了 HttpClient 3.1 jar,它与 Android 库中包含的 HttpClient 4.0 jar 冲突。

我的问题是,是否有办法让我在 Android 项目中使用 EWS Java API,而不必重新编写其中引用 HttpClient 3.1 特定内容的部分,这些内容不再在 4.0 中。

0 投票
1 回答
7604 浏览

java - 如何使用 apache commons httpclient 和 getmethod 读取模型和视图 json 响应?

如果我的格式关闭(这里是新的),请原谅。我有一个如下所示的 REST 服务(省略了实现细节):

我想要做的是编写一个 HttpClient(使用 org.apache.commons.httpclient.HttpClient,我知道那里有另一个来自 apache 的 httpclient),它可以从上述服务中获取“mymap”对象。我知道我必须在我的客户端代码中执行以下操作:

我一直在寻找解决方案,但在这里找不到阅读回复的方法。这是我第一次编写客户端和服务,所以我可能找到了解决方案,但从未理解它:(任何建议都会有帮助!!!谢谢。