首页 > 解决方案 > 代理背后的 Azure Blob 存储 sdk v10/v11 快速入门错误

问题描述

我已经从 github 下载并运行了提供的 quickstat。它在正常网络上运行良好,但如果在代理后面则提供 NPE。

WARNING: An exception was thrown by com.microsoft.rest.v2.http.NettyClient$AcquisitionListener.operationComplete()
java.lang.NullPointerException
        at com.microsoft.rest.v2.http.NettyClient$AcquisitionListener.emitError(NettyClient.java:426)

当我更新到 v11 (11.0.1) 时,会出现一个新错误而不是 NPE,但根本不起作用。

WARN  NettyClient - Error emitted before channel is created. Message: This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server

我搜索了很多,并尝试在操作环境中设置默认代理,但没有成功。

OperationContext.setDefaultProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyIP, proxyPort)));

你能给我一个在代理后面工作的更新(更正)的快速入门吗?或者给我一些线索如何,设置什么以及在哪里?

标签: javaproxyazure-blob-storage

解决方案


据我所知,根据Oracle文档Java Networking and Proxies,在代理之外访问的简单方法是在Java中设置http[s].proxyHosthttp[s].proxyPort通过System.setProperty,以使JVM上的所有程序都在代理后面工作。它适用于我的答案,使用较旧的 Azure Storage SDK 用于其他 SO 线程Get Image from Azure Blob using Proxy In Java


推荐阅读