Как предотвратить апачский http клиент от следующего перенаправление

Хорошо это собирается поднять много пространства, хранящего все, что в Подверсии, я скажу Вам так очень. Подверсия не хранит двоичные файлы через дельту способ, которым она хранит текстовые файлы. Это, вероятно, поднимет столько пространства, сколько это было бы, чтобы просто сохранить набор двоичных файлов на Вашем жестком диске плюс репозиторий.

Вы можете к серверной стороне tiddlywiki для хранения URL к документам в Подверсии.

, Если они главным образом .doc и .xls файлы, существует также Sharepoint Microsoft.

41
задан Community 23 May 2017 в 12:02
поделиться

3 ответа

Реализация по умолчанию HttpClient довольно ограничена в возможностях настройки, но вы можете управлять обработкой перенаправления с помощью логического параметра HttpClient http.protocol.handle-redirects .

См. документы для справки.

17
ответ дан 27 November 2019 в 00:11
поделиться

Магия, благодаря macbirdie , заключается в следующем:

params.setParameter("http.protocol.handle-redirects",false);

Импорт не учитывается, вот пример копирования и вставки:

HttpClient httpclient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();

// HTTP parameters stores header etc.
HttpParams params = new BasicHttpParams();
params.setParameter("http.protocol.handle-redirects",false);

// Create a local instance of cookie store
CookieStore cookieStore = new BasicCookieStore();

// Bind custom cookie store to the local context
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);

// connect and receive 
HttpGet httpget = new HttpGet("http://localhost/web/redirect");
httpget.setParams(params);
response = httpclient.execute(httpget, localContext);

// obtain redirect target
Header locationHeader = response.getFirstHeader("location");
if (locationHeader != null) {
    redirectLocation = locationHeader.getValue();
  System.out.println("loaction: " + redirectLocation);
} else {
  // The response is invalid and did not provide the new location for
  // the resource.  Report an error or possibly handle the response
  // like a 404 Not Found error.
}
49
ответ дан 27 November 2019 в 00:11
поделиться

Вместо того, чтобы использовать свойство напрямую, вы можете использовать:

final HttpParams params = new BasicHttpParams();
HttpClientParams.setRedirecting(params, false);
13
ответ дан 27 November 2019 в 00:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: