我正在尝试从服务器下载文件但出现错误
检查了一些我发现需要禁用 dnsresolver 的解决方案,但这对我也不起作用。
这是禁用 dnsresolver 的代码
System.setProperty("vertx.disableDnsResolver", "true");
源代码 :-
WebClientOptions webClientOptions = new WebClientOptions() .setSsl(true)
.setTrustAll(true)
.setDefaultPort(443)
.setKeepAlive(true);
WebClient webClient = WebClient.create(vertx,webClientOptions);
final HttpRequest<Buffer> abs = webClient.get("https://downloads.dell.com","/xyz.exe");
abs.send(responseHandler ->{
if (responseHandler.succeeded()){
String temp = vertx.fileSystem().createTempFileBlocking("", "");
vertx.fileSystem().writeFileBlocking(temp, responseHandler.result().body());
routingContext.response().end("Success");
}else{
log.error("Error: {}",responseHandler.cause());
routingContext.response().end("failure");
}
});
这是一个例外:-
java.net.UnknownHostException: failed to resolve 'https://downloads.dell.com'. Exceeded max queries per resolve 4
at io.netty.resolver.dns.DnsResolveContext.finishResolve(DnsResolveContext.java:927) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.tryToFinishResolve(DnsResolveContext.java:886) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.query(DnsResolveContext.java:358) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.tryToFinishResolve(DnsResolveContext.java:858) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.query(DnsResolveContext.java:358) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.tryToFinishResolve(DnsResolveContext.java:858) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.query(DnsResolveContext.java:358) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.tryToFinishResolve(DnsResolveContext.java:858) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.query(DnsResolveContext.java:358) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.query(DnsResolveContext.java:1001) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.tryToFinishResolve(DnsResolveContext.java:878) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.query(DnsResolveContext.java:358) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
at io.netty.resolver.dns.DnsResolveContext.onResponse(DnsResolveContext.java:545) [netty-resolver-dns-4.1.49.Final.jar:4.1.49.Final]
更新:- 使用 getAbs() 我可以下载大约 15 到 20 mb 的文件,但如果文件大小超过 500mb 则无法下载