我正在尝试从Java代码下载图像。我的代码已经很好地处理了大量其他图像,但是这个图像拒绝下载。
我确定图片存在,并且我可以在浏览器中查看它:http://lemonde-emploi.blog.lemonde.fr/files/2017/02/La-Ru%C3%A9e-des-licornes-Hazard.jpg
我使用Play框架WS Scala客户端下载图像。它只是Java着名的AsyncHttpClient与Netty实现的包装器。
我正在运行以下代码,这些代码适用于许多其他图片,但仅针对此代码失败:
WS
.url(url)
.withQueryString(queryString: _*)
.withHeaders("User-Agent" -> "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36")
.get
我设置了与本地浏览器完全相同的User-Agent,后者成功访问了该图片。
这是调试中的服务器响应:它返回400状态代码。
知道为什么会这样吗?
答案 0 :(得分:0)
遗产" com.ning"图片中的包装显示您仍然在运行AHC1,已经达到使用寿命并且我不再维护。
您最有可能遇到一个与URL编码相关的旧AHC错误,这个错误已经被修复(我检查过AHC2的现代版本可以正常使用您的URL)。
基本上,是时候考虑升级Play / AHC版本了。