问题标签 [httpurlconnection]

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 投票
2 回答
13143 浏览

android - Android上的HttpURLConnection失败

已解决 - 请参阅下面的评论

我有一个实现多部分文件上传的类。该代码适用于我尝试过的每个 Java 客户端(Android 除外),它是我的 Android 应用程序中唯一与我的后端服务不兼容的 HTTP 请求代码。

连接 responseCode 是“-1”,所以这里发生了一些非常讨厌的事情。Apache 访问或错误日志中未显示任何条目,似乎该请求从未脱离 android 平台。代码直接通过连接写入,但在连接读取时挂起,超时然后返回。真实手机和模拟器的行为相同。

有谁知道在 Android 中发布多部分文件时需要注意的任何问题?

我包括下面的课程(制作了一些小的卫生模型),所以你可以看到我在做什么

0 投票
3 回答
18968 浏览

java - authenticate with ntlm (or kerberos) using java UrlConnection

I need to consume a rest web service with java, passing the credentials of a domain user account.

right now I'm doing it with classic asp

and with asp.net

how can I achieve this with java? Take into account that I'm not using the credentials of the currently logged user, I'm specifing the domain account (I have the password)

please tell me it's as easy as with classic asp and asp.net....

0 投票
2 回答
2811 浏览

java - 如何在高使用率的多线程环境中优化清理传出的 UrlConnection 对象?

我有一个用例,其中一个 servlet(具有相当高的并发使用率)生成一个传出 URLConnection 来检索一些数据 REST 样式,作为其正常服务器端处理逻辑的一部分。每次调用 servlet 时都会创建和使用连接,因为 URL 可能不同(但域始终相同)。我想确保它尽可能以最佳方式执行此操作,以便端口和连接保持打开的时间不会超过它们在应用程序服务器上所需的时间,而是在适用时重复使用。

Javadocs 似乎有点模糊 - 在 URLConnection 上:

“在请求之后调用 URLConnection 的 InputStream 或 OutputStream 上的 close() 方法可能会释放与此实例相关的网络资源,除非特定的协议规范为其指定了不同的行为。”

在 HttpURLConnection 上:

'每个 HttpURLConnection 实例用于发出单个请求,但到 HTTP 服务器的底层网络连接可能被其他实例透明地共享。在请求之后对 HttpURLConnection 的 InputStream 或 OutputStream 调用 close() 方法可能会释放与此实例关联的网络资源,但不会影响任何共享的持久连接。如果持续连接当时处于空闲状态,则调用 disconnect() 方法可能会关闭底层套接字。

目前,根据下面的代码,正在使用 URLConnection 并且仅关闭输入流(错误处理和 URL 读取已删除,因为它们与问题无关)。我的想法是这将清理流资源,但如果可能的话允许重新使用底层套接字(因为请求总是针对同一个域,具有不同的 URL 路径)。任何有关如何进一步优化的建议将不胜感激。

0 投票
4 回答
18747 浏览

java - IOException:“收到的身份验证质询为空”(Apache Harmony/Android)

我正在尝试通过 Android 发送一个 GET HttpURLConnection(从 导入org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection),并在收到响应后,抛出一个IOException

在 doRequestInternal() 中:“收到的身份验证质询为空”

这个错误是什么意思,是什么原因造成的?我正在将 OAuth 参数写入 Authorization 标头,但我在其他场合也这样做,没有问题。

0 投票
2 回答
145 浏览

java - 我如何计算服务器发送给我的 100 Continues 的数量?

我正在使用 Apache Commons HttpClient 3.1,我发现来自 Sun 的 HttpURLConnection 从流中删除了 100 个 Continues。

因此,因此我似乎无法获得 100 Continue,因为它们显然已被 Sun 的代码删除。

我无法继续使用 HttpClient 4.0,因为这需要对现有代码进行许多更改,因此解决方案必须是 3.1 或不冲突的东西。

有任何想法吗?

谢谢

0 投票
2 回答
3537 浏览

java - HttpsURLConnection.getOutputStream() 是否会在连接超时时重试?

我在HttpURLConnection遇到问题。getOutputStream () 耗时 2-3 秒。我使用 HttpURLConnection.setConnectTimeout 设置连接超时,期望从 getOutputStream() 抛出 SocketTimeoutException(由 IOException 包装),因此我可以在另一台服务器上重试整个操作。

相反,它现在才有效。如果 getOutputStream() 收到 SocketTimeoutException,它会尝试在内部连接吗?

0 投票
5 回答
50101 浏览

java - HttpURLConnection.getResponseCode() 在第二次调用时返回 -1

当我正在使用的库(signpost 1.1-SNAPSHOT)与远程服务器建立两个连续连接时,我似乎在 Android 1.5 上遇到了一个特殊问题。第二个连接总是HttpURLConnection.getResponseCode()失败-1

这是一个暴露问题的测试用例:

基本上,如果我签署请求然后使用整个输入流,下一个请求将失败,结果代码为 -1。如果我只从输入流中读取一个字符,则似乎不会发生故障。

请注意,任何 url 都不会发生这种情况——只是特定的 url,例如上面的那个。

此外,如果我切换到使用 HttpClient 而不是 HttpURLConnection,一切正常:

我在其他地方找到了对似乎类似问题的参考,但到目前为止还没有解决方案。如果它们确实是同一个问题,那么问题可能不在于路标,因为其他参考文献没有提及它。

有任何想法吗?

0 投票
8 回答
67707 浏览

java - 如何为 java HttpURLConnection 流量启用线路日志记录?

我在另一个项目中使用了Jakarta commons HttpClient,我想要相同的线路日志输出,但使用“标准”HttpUrlConnection。

我使用Fiddler作为代理,但我想直接从 java 记录流量。

捕获连接输入和输出流的内容是不够的,因为 HTTP 标头是由 HttpUrlConnection 类编写和使用的,因此我将无法记录标头。

0 投票
4 回答
415141 浏览

java - 如何在 Java 中执行 HTTP GET?

如何在 Java 中执行 HTTP GET?

0 投票
2 回答
812 浏览

httpurlconnection - 根据文件大小或时间断开 URL 连接 - Java

我们需要下载多个文档,压缩它们并允许用户下载 zip 文件。文档按顺序下载,文档数量最多可达30个不同大小的文档。如果 URLConnection 或任何其他开源 urlconnection API 具有更好的功能,我们计划使用它们。

我们想了解的是,可能存在较大的文件(可能是 40-50 MB)并且可能需要更多时间来下载此类文件。我们希望有确定大小的逻辑,避免下载此类文件,这些文件要么很大,要么需要花费大量时间来下载。

欣赏有关避免基于时间或文档大小下载文件的最佳方法的任何想法。

谢谢。