@@ -76,13 +76,14 @@ public Page download(Request request, Task task) {
7676 CloseableHttpClient httpClient = getHttpClient (task .getSite ());
7777 Proxy proxy = proxyProvider != null ? proxyProvider .getProxy (request , task ) : null ;
7878 HttpClientRequestContext requestContext = httpUriRequestConverter .convert (request , task .getSite (), proxy );
79- Page page = Page . fail ( request ) ;
79+ Page page = null ;
8080 try {
8181 httpResponse = httpClient .execute (requestContext .getHttpUriRequest (), requestContext .getHttpClientContext ());
8282 page = handleResponse (request , request .getCharset () != null ? request .getCharset () : task .getSite ().getCharset (), httpResponse , task );
8383 onSuccess (page , task );
8484 return page ;
8585 } catch (IOException e ) {
86+ page = Page .ofFailure (request );
8687 onError (page , task , e );
8788 return page ;
8889 } finally {
@@ -105,7 +106,7 @@ protected Page handleResponse(Request request, String charset, HttpResponse http
105106 HttpEntity entity = httpResponse .getEntity ();
106107 byte [] bytes = entity != null ? IOUtils .toByteArray (entity .getContent ()) : new byte [0 ];
107108 String contentType = entity != null && entity .getContentType () != null ? entity .getContentType ().getValue () : null ;
108- Page page = new Page ( );
109+ Page page = Page . ofSuccess ( request );
109110 page .setBytes (bytes );
110111 if (!request .isBinaryContent ()) {
111112 if (charset == null ) {
@@ -117,7 +118,6 @@ protected Page handleResponse(Request request, String charset, HttpResponse http
117118 page .setUrl (new PlainText (request .getUrl ()));
118119 page .setRequest (request );
119120 page .setStatusCode (httpResponse .getStatusLine ().getStatusCode ());
120- page .setDownloadSuccess (true );
121121 if (responseHeader ) {
122122 page .setHeaders (HttpClientUtils .convertHeaders (httpResponse .getAllHeaders ()));
123123 }
0 commit comments