我有以下代码使用Apache HttpClient检索页面
CredentialsProvider provider = new BasicCredentialsProvider();
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("user", "password");
provider.setCredentials(AuthScope.ANY, credentials);
HttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(provider).build();
HttpResponse response = client.execute(new HttpGet(imageUrl));
int statusCode = response.getStatusLine().getStatusCode();
System.out.println(statusCode);
HttpEntity entity = response.getEntity();
String entityContents = EntityUtils.toString(entity);
我正在加载的URL是JPG的直接链接。如何将图像直接加载到BufferedImage而不是获取字符串?
这是经过测试的代码
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
HttpGet request = new HttpGet("http://www.example.com/photo.jpg");
request.addHeader("content-type", "image/jpeg");
HttpResponse response = httpClient.execute(request);
HttpEntity entity = response.getEntity();
BufferedImage img = ImageIO.read(entity.getContent());