我試圖阻止org.apache.http.client.HttpClient(link text)在資源超過10 MB時下載正文。當Java HttpClient調用資源很大時,有沒有辦法不下載主體?
我在這裏搜索後做了什麼,其他人做了HEAD調用,然後檢查Content-Length標頭,如果它是012MB,請進行GET調用,最後對響應主體做些什麼。
會有更好的解決方案嗎?我想避免額外的電話。
謝謝。
我試圖阻止org.apache.http.client.HttpClient(link text)在資源超過10 MB時下載正文。當Java HttpClient調用資源很大時,有沒有辦法不下載主體?
我在這裏搜索後做了什麼,其他人做了HEAD調用,然後檢查Content-Length標頭,如果它是012MB,請進行GET調用,最後對響應主體做些什麼。
會有更好的解決方案嗎?我想避免額外的電話。
謝謝。
您可以隨時撥打電話並檢查長度,如果長度> 10MB,則可以暫停並取消下載。但問題是,在取消之前,套接字仍將盡可能下載。我認爲做一個HEAD電話是最好的方法。
最好的辦法是自從HEAD請求只有文件或資源(如RFC1945,第8.2節規定)的頭信息做HTTP頭。
根據HEAD調用的響應,檢索Content-Length
消息頭並查看大小是否小於或大於10MB。
做一個GET會導致返回完整的實體主體。
Apache HttpClient(版本3)支持HTTP HEAD。