Почему Httpclient получает только 202, а браузер может вернуть содержимое изображения - PullRequest
0 голосов
/ 19 апреля 2019

Я хочу получить проверочный код из изображения, но не могу загрузить изображение с помощью Httpclient getMethord.HttpClient получает код состояния 202. Как браузер может вернуть изображение.

Я использую версию Httpclient 4.5.8 Jar.

String url = "https://wbca.cde.org.cn/wbca/jcaptcha";
HttpClient httpClient = new DefaultHttpClient();

HttpGet getMethod = new HttpGet(url);

  try {
      HttpResponse response;
      response = httpClient.execute(getMethod, new BasicHttpContext());
      System.out.println(response.getStatusLine());

      HttpEntity entity = response.getEntity();
      InputStream instream = entity.getContent(); 
      OutputStream outstream = new FileOutputStream(new File("D:\\123.jpg"));
      int l = -1;
      byte[] tmp = new byte[2048]; 
      while ((l = instream.read(tmp)) != -1) {
          outstream.write(tmp);
      } 
      outstream.close();
  }  catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally {
      getMethod.releaseConnection();
  }

1 Ответ

0 голосов
/ 19 апреля 2019

Содержимое, возвращаемое с заданного URL-адреса "https://wbca.cde.org.cn/wbca/jcaptcha", является не файлом изображения, а страницей HTML (формирование изображения в браузере с использованием javascript). См. Заголовки ответа:

< HTTP/1.1 202 Accepted
< Date: Fri, 19 Apr 2019 08:32:43 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Server: ******
< Pragma: no-cache
< Cache-Control: no-cache
< Expires: Fri, 19 Apr 2019 08:28:55 GMT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...