Похоже, http перенаправление отключено по умолчанию.Я пытаюсь включить, это работает, но у меня все еще есть ошибка с моей проблемой.Но мы все еще можем прагматично обращаться с перенаправлением.Я думаю, что ваша проблема может решить: старый код:
AndroidHttpClient httpClient = AndroidHttpClient.newInstance("User-Agent");
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(httpGet);
long contentSize = httpResponse.getEntity().getContentLength();
Этот код вернет contentSize = -1
, если http redirect happend
И затем я сам обработаю перенаправление после попытки включить default default follow redirection
AndroidHttpClient client;
HttpGet httpGet;
HttpResponse response;
HttpHeader httpHeader;
private void handleHTTPRedirect(String url) throws IOException {
if (client != null)
client.close();
client = AndroidHttpClient.newInstance("User-Agent");
httpGet = new HttpGet(Network.encodeUrl(url));
response = client.execute(httpGet);
httpHeader = response.getHeaders("Location");
while (httpHeader.length > 0) {
client.close();
client = AndroidHttpClient.newInstance("User-Agent");
httpGet = new HttpGet(Network.encodeUrl(httpHeader[0].getValue()));
response = client.execute(httpGet);
httpHeader = response.getHeaders("Location");
}
}
Используется
handleHTTPRedirect(url);
long contentSize = httpResponse.getEntity().getContentLength();
Спасибо, Нгуен