Luchdaidhean Java tro proxy nuair a bheir getContentLengthLong -1 air ais
Làimhsich Content-Length neo-aithnichte ann an luchdadh Java tro proxy gun a bhith a' meas meata-dàta meud a tha a dhìth mar fhreagairt falamh.
Tha getContentLengthLong() == -1 a' ciallachadh nach eil fad susbaint aithnichte anns na meata-dàta a tha ri làimh. Cùm ort a' leughadh an t-srutha agus seall na beartan a fhuaireadh no adhartas mì-chinnteach; na dèan a mheas mar fhreagairt fhalamh agus na cuir dhut buffer le meud àicheil.
long expected = connection.getContentLengthLong();
long received = 0;
byte[] buffer = new byte[8192];
try (InputStream input = connection.getInputStream()) {
int count;
while ((count = input.read(buffer)) != -1) {
output.write(buffer, 0, count);
received += count;
}
}
Tha an ceangal air a rèiteachadh mu thràth agus is leis a' ghairmear output. Cùm ùineachan ceangail is leughaidh agus crìoch meud sam bith den aplacaid timcheall an lùib seo. 'S e luchdadh air fàilligeadh a th' ann am mearachd I/O, chan e coileanadh soirbheachail le nas lugha de bheartan.
Coimeas faidean aig an aon ìre. Faodaidh còdachadh chunked HTTP/1.1 Content-Length a chur na àite agus bidh an cur-an-gnìomh HTTP ga dhì-chòdachadh. Faodaidh proxy a chur ann am frèam a-rithist. Faodaidh dì-dhùmhlachadh cuideachd a dhèanamh air cunntas beart dì-chòdaichte na h-aplacaid eadar-dhealaichte bho Content-Length còdaichte.
Ma nochdas an dà chuid Transfer-Encoding agus Content-Length, na tagh àireamh ghoireasach: bheir frèamadh HTTP prìomhachas do chòdachadh gluasaid agus tha e a' meas a' choimeasgaidh mar mhearachd a dh'fhaodadh a bhith ann. Fàg am parsadh sin aig cur-an-gnìomh a tha co-chòrdail.
Feumaidh URL FTP tro gheata HTTP sgrùdadh air a' ghiùlan URLConnection cruaidh aige; chan eil e a' gealltainn gum bi gach inntrigeadh ceann-loidhne HTTP gad ghiùlan mar a bhiodh e air URL HTTP àbhaisteach anns gach JDK. Cleachd an API faide le luach fada far a bheil meata-dàta cudromach, agus dearbhaich an t-artaigil coileanta an aghaidh an fhaid no an t-suim-sgrùdaidh a tha dha-rìribh a dhìth. Chan eil leughadh a' chuirp a' toirt air ceann-loidhne a bha a dhìth roimhe nochdadh.