问题标签 [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 投票
5 回答
18111 浏览

java - 当我调用 connect() 时,Java HttpURLConnection 没有连接

我正在尝试编写一个程序来对我的 webapp 进行自动化测试。为此,我使用 HttpURLConnection 打开了一个连接。

我尝试测试的页面之一执行 302 重定向。我的测试代码如下所示:

因此,假设 urlToSend 是http://www.foo.com/bar.jsp,并且该页面将您重定向到http://www.foo.com/quux.jsp。我的 println 语句应该打印出http://www.foo.com/quux.jsp,对吗?

错误的。

重定向永远不会发生,它会打印出原始 URL。但是,如果我通过调用 connection.getResponseCode() 来切换掉 connection.connect() 行,它会神奇地起作用。

为什么我会看到这种行为?我做错什么了吗?

谢谢您的帮助。

0 投票
3 回答
8643 浏览

android - HttpsURLConnection 和间歇性连接

我希望有人可以帮助我解决间歇性连接问题,我正在使用 HttpsURLConnection 的代码。我正在使用的代码如下:

每次我使用它来拉 json 文件时,连接都会第一次工作。但是,当我再次使用连接发送命令时,它总是第一次失败。如果我快速发送命令(在 5 秒内),它通常会起作用,但如果我等待一段时间,它就会失败。我不认为它是 SSL 问题,因为它第一次正确连接,但我在这里可能是错的。我还尝试了许多不同的变体,例如添加:

但是,我没有运气。任何帮助将不胜感激。

0 投票
3 回答
7134 浏览

java - Java多连接下载

我想得到一些建议,我已经开始了一个新项目来创建一个使用多个连接的 java 下载加速器。我想知道如何最好地解决这个问题。

到目前为止,我发现我可以使用 HttpUrlConnection 并使用 range 属性,但想知道一种有效的方法。一旦我从多个连接下载了部件,我将不得不加入这些部件,以便我们最终得到一个完全下载的文件。

提前致谢 :)

0 投票
3 回答
13972 浏览

java - 调用 getInputStream() 时 HttpsURLConnection 停止

[Java 1.5;日食伽利略]

调用 getInputStream() 方法时,HttpsURLConnection 似乎停止了。我尝试使用不同的网站无济于事(目前为https://www.google.com)。我应该指出我正在使用 http S

下面的代码已根据我从其他 StackOverflow 答案中学到的内容进行了修改。但是,到目前为止,我尝试过的任何解决方案都没有奏效。

我将非常感谢您朝正确的方向轻推:)

典型错误如下所示:

0 投票
1 回答
12143 浏览

java - Java HttpUrlConnection 获取内容长度的限制

就这样,我开始了创建一个运行良好的 Java 下载管理器的项目。我目前看到的唯一问题是当我请求 URL 的内容长度时。当我使用 HttpUrlConnection 的 getContentLength 提供的方法时,它返回一个 Int。

如果我只下载文件大小小于 2GB 的文件,那就太好了。进行更多挖掘并发现 java 不支持 unsigned int 值,但即使这样也只会给我最大 4GB 的文件大小。

任何人都可以在正确的方向上帮助我获取大于 2GB 的文件的内容大小。

提前致谢。

更新

感谢您回答精英绅士,我尝试了您的建议,但一直返回空值,所以我所做的是

出于某种原因,仅使用 conn.getRequestProperty 总是为我返回 null

0 投票
4 回答
23098 浏览

android - 在 Android 上使用 HttpURLConnection

我正在尝试连接在我的 android 应用程序中运行的 Web 服务器,但是由于某种原因它失败了。

我可以正常连接到网页并使用手机的浏览器,我也可以使用下面的代码连接到谷歌,但由于某种原因我的代码无法连接到我的网络服务器。如果我在端口 80 上托管服务器,我每次都会收到错误代码 503,如果我在 8080 上托管它(这是最好的),我会收到一个超时异常,如下所示。

代码是:

当我尝试 CommonsWare 为端口 8080 建议的链接中的代码时,我得到与以前相同的错误,即超时异常。对于端口 80,我得到以下异常,这两个错误都发生在 url.openStream() 上。

端口 80 异常:

我还尝试使用以下代码:

但是,这导致了端口 8080 的相同超时错误,该错误发生在调用 client.execute(response) 时。

对于端口 80,我得到一个网页,上面说它无法连接,其中很多 HTML 编辑,但是它在页面上说的主要内容是:

03-06 13:10:23.576:错误/SAMES(1267):Web 服务器可能已关闭、太忙或遇到其他问题,无法响应请求。您可能希望稍后再试一次。

0 投票
2 回答
5641 浏览

java - HttpUrlConnection Post 导致浏览器在 Java Proxy 中下载响应 JSON

我正在调用返回 JSON 的 Alfresco Webscripts。我使用 GET 请求来做到这一点,这些请求都可以正常工作。但是,如果我执行文件 POST,Alfresco 服务器会正​​确接收文件并发送回 JSON 响应,但这次响应会导致浏览器提示下载,而不是让 Javascript 处理回调。

现在所有这些调用都通过使用 HttpUrlConnection 的“自制”反向代理(见下文)。该代理将所有调用路由到在另一台主机上运行的 Alfresco。其他一切正常(png、文本、html、GET 请求,甚至身份验证)。在 GET 和 POST 响应中,Content-Type 都是“application/json;charset=UTF-8”

非常感谢您的任何回复。

}

0 投票
2 回答
11834 浏览

java - 来自一个 HttpURLConnection 的多个请求

如何使用 Java 在一个 HttpURLConnection 中执行多个请求?

谢谢。

0 投票
4 回答
1626 浏览

java - 为什么我的 Sax Parser 在使用 InputStream Read 后没有产生任何结果?

我有这段代码,我希望能够告诉我下载了多少数据(并很快将其放入进度条中),然后通过我的 Sax Parser 解析结果。如果我基本上注释掉 //xr.parse(new InputSource(request.getInputStream()));上面的所有内容 行并交换 xr.parse 的结束,它工作正常。但此刻,我的 Sax 解析器告诉我我什么都没有。是不是有什么关系。读取(缓冲)部分?

另外,请注意, request 是具有各种签名的 HttpURLConnection 。

任何人都可以帮助我吗?

亲切的问候,

安迪

0 投票
6 回答
10278 浏览

java - 解析异常:在第 1 行,第 0 列:未找到元素

我有一个奇怪的问题。我收到以下导致强制关闭的错误:

org.apache.harmony.xml.ExpatParser$ParseException:在第 1 行,第 0 列:在 org.apache.harmony.xml 的 org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:508) 中找不到元素。 ExpatParser.parseDocument(ExpatParser.java:467) 在 org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:329) 在 org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:286)

单击“强制关闭”按钮后,将重新创建 Activity,并且解析顺利完成。我在 AsyncTask 的 doInBackground 中使用以下代码片段:

为什么 Activity 会强制关闭然后立即运行而没有任何问题?BufferedInputStream 会有什么不同吗?我很困惑。:(

谢谢大家的时间。

更新:事实证明 HttpURLConnection.getResponseCode() 经常返回 -1,因此 InputStream 可能没有正确设置。