У меня есть следующий фрагмент кода:
URL url = new URL("http://myserver.com/getFile.php");
URLConnection conexion = url.openConnection();
conexion.connect();
int lenghtOfFile = conexion.getContentLength();
Все работает, пока я не работаю с подключением WiFi.Если я попытаюсь запустить этот код, когда доступно только соединение GPRS / 3G, conexion.getContentLength()
вернет -1.
Любая идея, почему?
РЕДАКТИРОВАТЬ: я проверил заголовки, используя getHeaderFields().Они разные, если я использую сеть 3G.В этом случае Content-Length в этом случае отсутствует.Есть идеи, почему сервер возвращает разные заголовки?Я не использую какой-либо специальный скрипт для предоставления файла, я получаю только файл, который находится в указанном месте.
Весь заголовок для случая WiFi:
{Accept-Ranges = [байт], Connection = [Keep-Alive], Content-Length = [628254], Content-Type = [text / plain;charset = UTF-8], Date = [вторник, 29 ноября 2011 г. 11:22:50 GMT], ETag = ["7a0c7-9961e-4af3f38778500"], Keep-Alive = [timeout = 15], Last-Modified = [Пт, 14 октября 2011 г. 09:52:52 GMT], Сервер = [Apache / 2.2.9 (Debian) PHP / 5.2.6-1 + lenny9 с Suhosin-Patch mod_python / 3.3.1 Python / 2.6.6 mod_ssl / 2.2.9 OpenSSL / 0.9.8o mod_wsgi / 3.3 mod_perl / 2.0.4 Perl / v5.10.0]}
Весь заголовок для случая при использовании 3G:
{Accept-Ranges = [байты], Connection = [Keep-Alive], Content-Type = [text / plain;charset = UTF-8], Date = [вторник, 29 ноября 2011 г. 11:20:33 GMT], ETag = ["7a0c7-9961e-4af3f38778500"], Keep-Alive = [timeout = 15], Last-Modified = [Пт, 14 октября 2011 г. 09:52:52 GMT], Сервер = [Apache / 2.2.9 (Debian) PHP / 5.2.6-1 + lenny9 с Suhosin-Patch mod_python / 3.3.1 Python / 2.6.6 mod_ssl / 2.2.9 OpenSSL / 0.9.8o mod_wsgi / 3.3 mod_perl / 2.0.4 Perl / v5.10.0], Transfer-Encoding = [chunked], Warning = [214 warkaz-fe07 "Преобразование применено"]}