java - 从java中的http请求获取文件

标签 java http request

如何调用 url 来处理结果?

我有一个独立的报告 servlet,我链接到它以获取报告。我现在想通过电子邮件发送这些报告,如果我在浏览器中这样做,我可以只使用 xhttprequest 并处理结果——我基本上想在 Java 中做同样的事情,但我不确定如何去做

更新:我正在寻找从 url 返回的文件(无论是 pdf 还是 html 等)。

更新:这将纯粹在服务器上运行 - 没有触发电子邮件发送的请求,而是预定的电子邮件。

最佳答案

public byte[] download(URL url) throws IOException {
    URLConnection uc = url.openConnection();
    int len = uc.getContentLength();
    InputStream is = new BufferedInputStream(uc.getInputStream());
    try {
        byte[] data = new byte[len];
        int offset = 0;
        while (offset < len) {
            int read = is.read(data, offset, data.length - offset);
            if (read < 0) {
                break;
            }
          offset += read;
        }
        if (offset < len) {
            throw new IOException(
                String.format("Read %d bytes; expected %d", offset, len));
        }
        return data;
    } finally {
        is.close();
    }
}

编辑:清理代码。

关于java - 从java中的http请求获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/238824/

相关文章:

java - 如何选择 jquery 无序下拉列表 selenium webdriver

http - 如何使用 OpenEdge.Net 库跳过 HTTPS 连接上的 ssl 证书验证?

android - 在 Android 中为 POST 请求发送 XML

javascript - 在 mocha 中将变量从 before() 传递到 it()

go - 如何使用golang在请求 header 中保持关键大小写敏感?

language-agnostic - 有效的 HTTP header ? `GET/page.html Http1.0` ?

java - 设置 CriteriaBuilder

java - 为什么我的 jquery ajax 给出 406

java - 为什么建议将 BufferedWriter 包裹在 write() 操作可能很昂贵的任何 Writer 周围,例如 FileWriters 和 OutputStreamWriters?

javascript - AngularJS:如何通过 $resource 在 POST 中发送图像文件?